- Feb 17, 2012
-
-
Ian Romanick authored
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-
Ian Romanick authored
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-
- Feb 16, 2012
-
-
r300g is able to sleep until a fence completes rather than busywait because it creates a special buffer object and relocation that stays busy until the CS containing the fence is finished. Copy the idea into r600g, and use it to sleep if the user asked for an infinite wait, falling back to busywaiting if the user provided a timeout. Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit 8cd03b93) Conflicts: src/gallium/drivers/r600/r600_pipe.c
-
Noticed by taiu on IRC. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit 5e1495b2) Conflicts: src/gallium/drivers/r600/evergreen_state.c
-
Noticed by taiu on IRC. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit acca690c) Conflicts: src/gallium/drivers/r600/evergreen_state.c
-
Kenneth Graunke authored
I recently discovered this text in the BSpec. It seems wise to comply, though I haven't observed it to fix anything yet. Fixes a regression in glean/fbo since 28cfa1fa. NOTE: This is a candidate for stable release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45221 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 709f5092)
-
Kenneth Graunke authored
Commit dc7f449d introduced a new method for avoiding MOVs: try to rewrite the destination of the instruction that produced the RHS so it writes into the LHS. Unfortunately, this is not safe for swizzled texturing operations, as they return a set of four contiguous registers. Consider the following: (assign (x) (var_ref vec_ctor_x) (swiz x (tex vec4 (var_ref m_sampY) (var_ref m_cordY) 0 1 ()))) In this case, the source and destination registers are equal, since reg_offset is 0 for both. Yet, this is only a partial move: the texture operation generates four registers, and the LHS only covers one. Fixes color distortion in XBMC when using GLSL shaders. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44333 Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 4b274068)
-
Kenneth Graunke authored
Certain instructions write more than one register. Texturing, for example, returns 4 registers. (We set rlen to 4 even for TXS and float shadow sampling.) Some math functions return 2. Most return 1. The next commit introduces a use of this function. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 8ab02b51)
-
- Feb 15, 2012
-
-
Ian Romanick authored
If the generated shader for _TexEnvProgram is empty, force the use of the fixed-function code. Otherwise, go ahead and use the shader. This works around a mysterious issue on i915 where fixed-function software fallbacks are not working correctly. This isn't really the fix we want, but it works around the issue. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45872 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45876 (cherry picked from commit 3e22d4e5)
-
Ian Romanick authored
This fixes build errors like In file included from glapi_dispatch.c:91: ../../../src/mapi/glapi/glapitemp.h:4641: error: no previous prototype for 'glDrawBuffersNV' Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Lucas Stach <dev@lynxeye.de> (cherry picked from commit 8f3be339)
-
Anuj Phogat authored
Reallocate/resize decompress FBO only if texture image width/height is greater than existing decompress FBO width/height. This is a candidate for stable branches. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 66bf25f1)
-
Paul Berry authored
Commit 2e5a1a25 (intel: Convert from GLboolean to 'bool' from stdbool.h.) converted the "specoffset" local variable (in intel_tris.c) from a GLboolean to a bool. However, GLboolean was the wrong type for specoffset--it should have been a GLuint (to match the declaration of specoffset in struct intel_context). This patch changes specoffset to the proper type. Fixes piglit test general/two-sided-lighting-separate-specular. This is a candidate for stable branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45917 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 6b0a07f9)
-
Mathias Fröhlich authored
Fix an access to uninitialized memory pointed out by valgrind in glsl_to_tgsi_visitor::simplify_cmp(void). Note: This is a candidate for the 8.0 branch. Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de> (cherry picked from commit 1d01429c)
-
Emma Anholt authored
It turns out the same messages work on gen7, we were just being paranoid. Fixes the penumbra shadows mode of Lightsmark since the register allocation fix. NOTE: This is a candidate for release branches. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 93831a54)
-
Emma Anholt authored
We just abort later, but at least this should result in more informative bug reports. NOTE: This is a candidate for release branches. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit a7f46ead)
-
Anuj Phogat authored
This patch adds the pixel store operations in decompress_texture_image(). decompress_texture_image() is used in glGetTexImage() for compressed textures with unsigned, normalized values. It also fixes the failures in intel oglconform pxstore-gettex due to following sub test cases: - Test all mipmaps with byte swapping enabled - Test all small mipmaps with all allowable alignment values - Test subimage packing for all mipmap levels Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40864 Note: This is a candidate for stable branches Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 40427025)
-
Dave Airlie authored
Marek: this fixes a firefox crash and maybe even: https://bugs.freedesktop.org/show_bug.cgi?id=45943 NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Marek Olšák <maraeo@gmail.com> (cherry picked from commit 094eeff1)
-
Brian Paul authored
Fixes a regression from commit 660ed923. The basic idea is to look at the format of the dest renderbuffer and choose either GLubyte or GLfloat for colors. The previous code used _mesa_format_to_type_and_comps() which could return a bunch types other than ubyte/float. Determine the datatype at renderbuffer mapping time to avoid frequent calls to the format query functions. NOTE: This is a candidate for the 8.0 branch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45578 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45577 (cherry picked from commit bd1ae51b)
-
Kenneth Graunke authored
Ironlake appears to check our pointer against the General State Base Address upper bound, rather than ignoring the zero bound as it ought. Unfortunately, since we leave GSBA set to zero, there is no logical upper bound. Set it to the maximum possible value, which should work since our virtual addresses only go up to 2GB. +94 piglits. NOTE: This is a candidate for stable release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28924 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 3340b47c)
-
Brian Paul authored
The mapping from TEXTURE_x_INDEX to GL_TEXTURE_x was broken in alloc_proxy_textures() because the elements in the targets[] array were in the wrong order. This didn't actually cause any failures since we never really use the proxy texture's Target field. But let's get it right. NOTE: This is a candidate for the 8.0 branch. (cherry picked from commit d925b0d4)
-
- Feb 14, 2012
-
-
Lina Versace authored
(cherry picked from commit b44c459c)
-
(cherry picked from commit 94866ffb)
-
Lina Versace authored
This is a combination of 4 commits. The first commit rewrites the HiZ op, and remaining three fix bugs introduced by the rewrite. ======== commit 1 ======== i965: Rewrite the HiZ op The HiZ op was implemented as a meta-op. This patch reimplements it by emitting a special HiZ batch. This fixes several known bugs, and likely a lot of undiscovered ones too. ==== Why the HiZ meta-op needed to die ==== The HiZ op was implemented as a meta-op, which caused lots of trouble. All other meta-ops occur as a result of some GL call (for example, glClear and glGenerateMipmap), but the HiZ meta-op was special. It was called in places that Mesa (in particular, the vbo and swrast modules) did not expect---and were not prepared for---state changes to occur (for example: glDraw; glCallList; within glBegin/End blocks; and within swrast_prepare_render as a result of intel_miptree_map). In an attempt to work around these unexpected state changes, I added two hooks in i965: - A hook for glDraw, located in brw_predraw_resolve_buffers (which is called in the glDraw path). This hook detected if a predraw resolve meta-op had occurred, and would hackishly repropagate some GL state if necessary. This ensured that the meta-op state changes would not intefere with the vbo module's subsequent execution of glDraw. - A hook for glBegin, implemented by brwPrepareExecBegin. This hook resolved all buffers before entering a glBegin/End block, thus preventing an infinitely recurring call to vbo_exec_FlushVertices. The vbo module calls vbo_exec_FlushVertices to flush its vertex queue in response to GL state changes. Unfortunately, these hooks were not sufficient. The meta-op state changes still interacted badly with glPopAttrib (as discovered in bug 44927) and with swrast rendering (as discovered by debugging gen6's swrast fallback for glBitmap). I expect there are more undiscovered bugs. Rather than play whack-a-mole in a minefield, the sane approach is to replace the HiZ meta-op with something safer. ==== How it was killed ==== This patch consists of several logical components: 1. Rewrite the HiZ op by replacing function gen6_resolve_slice with gen6_hiz_exec and gen7_hiz_exec. The new functions do not call a meta-op, but instead manually construct and emit a batch to "draw" the HiZ op's rectangle primitive. The new functions alter no GL state. 2. Add fields to brw_context::hiz for the new HiZ op. 3. Emit a workaround flush when toggling 3DSTATE_VS.VsFunctionEnable. 4. Kill all dead HiZ code: - the function gen6_resolve_slice - the dirty flag BRW_NEW_HIZ - the dead fields in brw_context::hiz - the state packet manipulation triggered by the now removed brw_context::hiz::op - the meta-op workaround in brw_predraw_resolve_buffers (discussed above) - the meta-op workaround brwPrepareExecBegin (discussed above) Note: This is a candidate for the 8.0 branch. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Paul Berry <stereotype441@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43327 Reported-by: <xunx.fang@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44927 Reported-by: <chao.a.chen@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com> (cherry picked from commit 7b36c68b) ======== commit 2 ======== i965/gen7: Fix GPU hangs from the HiZ op. The wm max threads is in the same dword as the dispatch enable. The hardware gets super angry if you set max threads to 0, even if you aren't dispatching threads. (cherry picked from commit e5b225af) ======== commit 3 ======== i965/gen7: Fix the length of the DS state packet in the HiZ op. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> (cherry picked from commit cdcfaa64) ======== commit 4 ======== i965/gen7: Fix the length of the MULTISAMPLE state packet in the HiZ op. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> (cherry picked from commit a7750c9f)
-
- Feb 10, 2012
-
-
Brian Paul authored
The page is terribly out of date.
-
Brian Paul authored
-
Brian Paul authored
Add link to Intel's Linux graphics page, etc.
-
- Feb 09, 2012
-
-
Brian Paul authored
-
Ian Romanick authored
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-
Ian Romanick authored
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-
Anuj Phogat authored
width, height parameter in glTexImage2D() includes: texture image width + 2 * border (if any). So when doing the texture size check in _mesa_test_proxy_teximage() width and height should not exceed maximum supported size for target texture type + 2 * border. i.e. 1 << (ctx->Const.MaxTextureLevels - 1) + 2 * border Texture border is anyway stripped out before it is given to intel or gallium drivers. This patch fixes Intel oglconform test case: max_values negative.textureSize.textureCube Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44970 Note: This is a candidate for mesa 8.0 branch. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Ian Romanick <idr@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit ea228d97)
-
- Feb 08, 2012
-
-
Emma Anholt authored
I wasn't seeing it be needed because of the previous bug. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> (cherry picked from commit b8c92525)
-
Emma Anholt authored
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> (cherry picked from commit 4dd2743d)
-
Emma Anholt authored
Specifially, this being present works around a bug in Unigine Sanctuary on i965 which previously resulted in bad rendering. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit ff2497dc) NOTE: Compared to ff2497dc this does not install the default drirc. The pre-automake build system is sufficiently braindamaged to make this exceptionally difficult.
-
- Feb 07, 2012
-
-
Chih-Wei Huang authored
Signed-off-by: Marek Olšák <maraeo@gmail.com> NOTE: This is a candidate for the 8.0 branch. (cherry picked from commit f8be4f33)
-
Emma Anholt authored
Fixes piglit switch-case-duplicated.vert. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 57e44371)
-
Emma Anholt authored
The error message I chose matches gcc's error. Fixes piglit switch-case-duplicated.vert. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 14063219)
-
Emma Anholt authored
NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 01a5a2c9)
-
Emma Anholt authored
Otherwise, the upcoming error messages said the location was 0:0(0). NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 663dcbbf)
-
Emma Anholt authored
It's not quite spelled out in the spec text, but the grammar indicates that only constant values are allowed as switch() case labels (and only constant values make sense, anyway). Fixes piglit glsl-1.30/compiler/switch-statement/switch-case-uniform-int.vert. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 2c3e10e7)
-
Emma Anholt authored
This stuffs them all in a struct for sanity. Fixes piglit glsl-1.30/execution/switch/fs-uniform-nested. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 22d81f15)
-