aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Add expected file for 095-recursive-define test case.Carl Worth2011-04-141-0/+4
| | | | | | | | | | It's clear enough that the current segmentation fault isn't what we want. And it's also very easy to know what we do want here, (just check with any functional C preprocessor such as "gcc -E"). Add the desired output as an expected file so that the test suite gives useful output, (showing the omitted output and the segfault), rather than just reporting "No such file" for the expected file.
* glcpp: Simplify calling convention of parser's active_list functionsCarl Worth2011-04-141-38/+38
| | | | | | | | | | | | These were all written as generic list functions, (accepting and returning a list to act upon). But they were only ever used with parser->active as the list. By simply accepting the parser itself, these functions can update parser->active and now return nothing at all. This makes the code a bit more compact. And hopefully the code is no less readable since the functions are also now renamed to have "_parser_active" in the name for better correlation with nearby tests of the parser->active field.
* glcpp: Add --valgrind option to the glcpp-test utilityCarl Worth2011-04-141-16/+46
| | | | | | | | | | | The common case for this test suite is to quickly test that everything returns the correct results. In this case, the second run of the test suite under valgrind was just annoying, (and the user would often interrupt it). Now, do what is wanted in the common case by default (just run the test suite), and require a run with "glcpp-test --valgrind" in order to test with valgrind.
* Add an expected file for 084-unbalanced-parenthesesCarl Worth2011-04-141-0/+2
| | | | | | | | | | | | The expected file here captures the current behavior of glcpp (which is to generate an obscure "syntax error, unexpected $end" diagnostic for this case). It would certainly be better for glcpp to generate a nicer diagnostic, (such as "missing closing parenthesis in function-like macro definition" or so), but the current behavior is at least correct, and expected. So we can make the test suite more useful by marking the current behavior as expected.
* Add an expected file for 094-divide-by-zero-short-circuitCarl Worth2011-04-142-0/+26
| | | | | | | | | | | The expected file here captures the current behavior of glcpp (which is to generate a division-by-zero error) for this case. It's easy to argue that it should be short-circuiting the evaluation and not generating the diagnostic (which happens to be what gcc does). But it doesn't seem like we should force this behavior on our pre-processor, (and, as always, the GLSL specification of the pre-processor is too vague on this point).
* Add an expected file for 093-divide-by-zeroCarl Worth2011-04-141-0/+4
| | | | | | This test is behaving just fine already---it's generating an informative diagnostic, ("error: division by 0 in preprocessor directive"), so adding this in the expected file makes things pass.
* mesa/st: Avoid spurious transfers when creating fbo textures without image data.José Fonseca2011-04-141-1/+6
| | | | | | | | | We could actually try to do an early return both for gallium textures and malloc memory textures, but I'm not sure exactly which situations stImage->pt is NULL, and whether texImage->Data == NULL would be acceptible or not. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: add support for GL_RGBA + GL_UNSIGNED_INT_8_8_8_8 in st_fast_readpixelspepp2011-04-141-1/+20
| | | | Signed-off-by: Brian Paul <[email protected]>
* mesa: Expose ATI_draw_buffers.Eric Anholt2011-04-131-0/+1
| | | | | | | | | | | | This is the same as ARB_draw_buffers (which derived from it), except for s/ARB/ATI/. The glapi bits were already in place, and what was missing was just the ARB_fp part. The new Humble Bundle game "trine" tries to use this extension without checking that it's exposed, which this works around. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36182 Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add support for OPTION ATI_draw_buffers to ARB_fp.Eric Anholt2011-04-131-0/+10
| | | | | | Tested by piglit ati_draw_buffers-arbfp. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.Eric Anholt2011-04-132-0/+30
| | | | | | | | Fixes fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965/fs: Constant-fold immediates in src0 of SEL instructions.Eric Anholt2011-04-134-0/+16
| | | | | | | | | | | This is like what we do for add/mul, but we have to invert the predicate to choose the other source instead. This removes 5 extra moves of constants in nexuiz shaders. No statistically significant performance difference on my Sandybridge laptop (n=5). Reviewed-by: Ian Romanick <[email protected]>
* i965/fs: Constant-fold immediates in src0 of CMP instructions.Eric Anholt2011-04-133-0/+45
| | | | | | | This is like what we do with add/mul, but we also have to flip the conditional test. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Perform type checking on "^^" operands.Eric Anholt2011-04-131-3/+10
| | | | | | | | | | | We were letting any old operand through, which generally resulted in assertion failures later. Fixes array-logical-xor.vert. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: When we've emitted a semantic error for ==, return a bool constant.Eric Anholt2011-04-131-3/+7
| | | | | | | | | | | This prevents later errors (including an assertion failure) from cascading the failure. Fixes invalid-equality-04.vert. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33303 Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* glsl: Semantically check the RHS of `||' even when short-circuiting.Eric Anholt2011-04-131-6/+5
| | | | | | | | | | | We just do the AST-to-HIR processing, and only push the instructions if needed in the constant false case. Fixes glslparsertest/glsl2/logic-02.frag Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Semantically check the RHS of `&&' even when short-circuiting.Eric Anholt2011-04-131-6/+6
| | | | | | | | | | | We just do the AST-to-HIR processing, and only push the instructions if needed in the constant true case. Fixes glslparsertest/glsl2/logic-01.frag Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Avoid cascading errors when looking for a scalar boolean and failing.Eric Anholt2011-04-131-76/+48
| | | | | | | | | | | | | | | By always using a boolean, we should generally avoid further complaints. The failure case I see is logic_not, where the user might understandably make the mistake of using `!' on a boolean vector (like a piglit case did recently!), and then get a further complaint that the new boolean type doesn't match the bvec it gets assigned to. Fixes invalid-logic-not-06.vert (assertion failure when the bad type ends up in an expression and ir_constant_expression gets angry). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33314 Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl/opt_cpe: Reenable opt_copy_propagation_elements.cpp pass.Eric Anholt2011-04-131-1/+1
|
* glsl/opt_cpe: Fix a crash when a kill kills for two reasons.Eric Anholt2011-04-131-1/+3
| | | | | | | Fixes glsl-copy-propagation-loop-2 when this optimization pass is re-enabled. Reported-by: David Lamparter <[email protected]>
* glsl/opt_cpe: Kill when the assignment isn't something we recognize.Eric Anholt2011-04-131-2/+9
| | | | | | | | | A few GLES2 tests tripped over this when using array dereferences to hit channels on the LHS (see piglit test glsl-copy-propagation-vector-indexing). We wouldn't find the ir_dereference_variable, and assume that that meant that it wasn't an assignment to a scalar/vector, and thus not notice that the variable had been changed.
* svga: defined QSZ in terms of SVGA3D_MAX_DRAW_PRIMITIVE_RANGESBrian Paul2011-04-131-1/+3
|
* svga: define SVGA3D_MAX_DRAW_PRIMITIVE_RANGES and update commentsBrian Paul2011-04-131-4/+12
|
* st/mesa: minor clean-ups in update_textures()Brian Paul2011-04-131-4/+8
|
* mesa: 80-column wrapping and whitespace fixesBrian Paul2011-04-134-14/+17
|
* mesa: fix some comments in sampler object codeBrian Paul2011-04-131-4/+4
|
* i965: Change assertion condition from implicit to explicitChad Versace2011-04-121-2/+1
| | | | | | | | | | | | | ... because grokking explicit assertions requires fewer neurons. In brw_misc_state.c:emit_depthbuffer, change assertion condition tiling != I915_TILING_X && tiling != I915_TILING_NONE to tiling == I915_TILING_Y Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Define BRW_DEPTHFORMAT_D24_UNORM_X8_UINTChad Versace2011-04-121-0/+1
| | | | | | | This depth format was added in Gen5. Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Document brw_context.state.depth_regionChad Versace2011-04-122-1/+23
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Remove unnecessary release/reference of brw_context.state.depth_regionChad Versace2011-04-121-6/+4
| | | | | | | | Release the old depth region and reference the new one *only* if it has changed. Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Add comments about URB size units and limits.Kenneth Graunke2011-04-122-4/+10
| | | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Acked-by: Chris Wilson <[email protected]>
* i965: Never enable the GS on Gen6.Kenneth Graunke2011-04-121-32/+16
| | | | | | | | | | | | | Prior to Gen6, we use the GS for breaking down quads, quad-strips, and line loops. On Gen6, earlier stages already take care of this, so we never need the GS. Since this code is likely completely untested, remove it for now. We can write new code when enabling real geometry shaders. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* Revert "i965: Reinstate max-index paranoia"Chris Wilson2011-04-121-1/+1
| | | | | | | | | | | | | | | | | | This reverts commit b4cbd2b312d53a50603e2cda925711bc9def4517. It looked like a safe sanity check. It missed the issue of the start of the buffer not being at 0, but even that was not enough to explain why setting the max vertex index caused glyphs to be dropped from the game 'Achron'. Instead, the issue appears to be related to the use of the vertex bias and so we would need to re-emit the max-index every time we adjusted the bias, so re-emitting the relocations and defeating the original optimisation. Reported-and-tested-by: Thomas Jones <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35163 Signed-off-by: Chris Wilson <[email protected]>
* egl/wayland: Update to per-surface frame eventsBenjamin Franzke2011-04-122-5/+6
|
* nouveau_vieux: fix build since sampler objects mergeDave Airlie2011-04-123-12/+12
|
* st/wgl: Prevent spurious framebuffer sizes when the window is minimized.José Fonseca2011-04-121-5/+12
| | | | | | | When the window is minimized GetClientRect will return zeros. Instead of creating a 1x1 framebuffer, simply preserve the current window size, until the window is restored or maximized again.
* st/wgl: Fix debug output format specifiers of stw_framebuffer_get_size().José Fonseca2011-04-121-3/+3
|
* svga: Rebind framebuffer and tss bindings strictly when necessary.José Fonseca2011-04-126-26/+45
| | | | | | | | | | The earlier change to ensure rendertargets and textures are always rebound at every command buffer start had the downside of making successive flushes no longer no-ops, as a command buffer with merely the rebinding commands were being unnecessarily sent to the vGPU. This change only re-emits the bindings when necessary, by keeping track of the need to rebind outside of the dirty state update mechanism.
* texstore: fix regression stricter check for memcpy path for unorm88 and ↵Hans de Goede2011-04-121-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | unorm1616 According to https://bugs.freedesktop.org/show_bug.cgi?id=34280 commit 5d1387b2da3626326410804026f8b92f1a121fdc causes the font corruption problems people have been seeing under various apps and gnome-shell on r200 cards. This commit changed (loosened) the check for using the memcpy path in the former al88 / al1616 texstore functions, which are now also used to store rg texures. This patch restores the old strict check in case of al textures. I've no idea why this fixes things, since I don't know the code in question at all. But after seeing the bisect in bfdo34280 point to this commit, I gave this fix a try and it fixes the font issues seen on r200 cards. [airlied: r200 has no native working A8, so it does an internal storage format of AL88 however srcFormat == internalFormat == ALPHA when we get to this point, so it copies, but it wants to store into an AL88 not ALPHA so fails, I'll also push a piglit test for this on r200]. Many thanks to Nicolas Kaiser who did all the hard work of tracking this down! Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* ir_to_mesa: silence signed/unsigned comparison warningsBrian Paul2011-04-111-2/+2
|
* r600: silence various compiler warningsBrian Paul2011-04-117-10/+19
|
* Merge branch 'arb_sampler_objects'Brian Paul2011-04-1176-7942/+10603
|\
| * mesa: fixup r600 DRI driver for sampler object changesBrian Paul2011-04-114-26/+26
| |
| * mesa: plug in new functions for GL_ARB_sampler_objectsBrian Paul2011-04-107-0/+42
| | | | | | | | | | | | Build the new sources, plug the new functions into the dispatch table, implement display list support. And enable extension in the gallium state tracker.
| * mesa: new code/functions for GL_ARB_sampler_objectsBrian Paul2011-04-102-0/+1409
| | | | | | | | | | This implements the infrastructure for sampler objects and all the new API functions.
| * mesa: alloc/free shared sampler objectsBrian Paul2011-04-101-0/+27
| |
| * mesa: new driver hooks for GL_ARB_sampler_objectsBrian Paul2011-04-101-0/+8
| |
| * mesa: add glGet for GL_ARB_sampler_objectsBrian Paul2011-04-101-0/+17
| |
| * mesa: move sampler state into new gl_sampler_object typeBrian Paul2011-04-1051-547/+620
| | | | | | | | | | | | gl_texture_object contains an instance of this type for the regular texture object sampling state. glGenSamplers() generates new instances of gl_sampler_object which can override that state with glBindSampler().
| * glapi: regenerated files for GL_ARB_sampler_objectsBrian Paul2011-04-1010-7385/+8371
| |