summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ir_to_mesa: Don't leak the whole linked assembly program.Eric Anholt2010-08-181-0/+1
|
* dri2: Clean up the common dri2 options at screen destroy.Eric Anholt2010-08-182-3/+8
|
* glsl: Fix leak-causing typo in destructor that made it another constructor.Eric Anholt2010-08-181-1/+1
|
* glsl: Fix uninitialized member in ir_hierarchical_vistor constructor.Vinson Lee2010-08-181-0/+1
| | | | Class member base_ir was not initialized by the default constructor.
* mesa: fpclassify is available on OpenSolaris.Vinson Lee2010-08-181-1/+2
| | | | | | | | | | There is no explicit predefined macro to distinguish between OpenSolaris and Solaris. This patch assumes that the difference is in the compilers. OpenSolaris uses GCC and not the Sun Studio compiler. Assume that the availability of fpclassify is due to GCC. This patch was not tested on Solaris. It would break the build on Solaris with GCC if GCC on Solaris does not have fpclassify.
* ir_to_mesa: Fix leak of set_branchtargets temp data.Eric Anholt2010-08-181-4/+2
|
* glsl: Garbage collect old prototype for ir_to_mesa.Eric Anholt2010-08-181-2/+0
|
* ir_to_mesa: Stop leaking the ir_instruction * annotation of our compile.Eric Anholt2010-08-181-2/+1
|
* mesa: Free linked shaders when deleting the shader program.Eric Anholt2010-08-181-0/+6
|
* mesa: Free old linked shaders when relinking new shaders.Eric Anholt2010-08-184-8/+17
|
* glsl2: Fix copy'n'paste hilarity leading to leaking in the refcount visitor.Eric Anholt2010-08-182-2/+1
|
* ir_to_mesa: Free the ir_to_mesa temporary storage when we're done.Eric Anholt2010-08-181-2/+2
|
* mesa: Hang the compiled shader off the shader->ir, not the shader.Eric Anholt2010-08-181-1/+2
| | | | | Otherwise, with repeated program recompile, we never free the results of the previous compile.
* mesa: Make MESA_GLSL=dump include when compile/link fails, and the info log.Eric Anholt2010-08-181-5/+20
|
* glsl: Fix scoping bug in if statements.Kenneth Graunke2010-08-181-2/+8
| | | | | Fixes glslparsertest/glsl2/scoping-01.frag (successfully compiled but should've failed) and scoping-02.frag (assertion triggered).
* glsl: Refresh autogenerated file builtin_function.cpp.Kenneth Graunke2010-08-181-14184/+6719
|
* generate_builtins.py: Clean up generated output a bit.Kenneth Graunke2010-08-181-0/+12
| | | | | | | | This should make it easier to diff the output, clean up some of the insane whitespace, and make the strings a bit smaller. We'll probably need to split up the prototype strings eventually, but for now, this gets it under the 65K mark.
* glsl/builtins: Add forgotten hyperbolic trig builtins in 1.30 profiles.Kenneth Graunke2010-08-182-0/+64
|
* ir_constant_expression: Implement equal/notEqual for booleans.Kenneth Graunke2010-08-181-0/+6
| | | | | | Calls to equal(bvec, bvec) or notEqual(bvec, bvec) previously caused an assertion. Fixes piglit tests glsl-const-builtin-equal-bool and glsl-const-builtin-notEqual-bool.
* r600: implement SSG instructionAndre Maasikas2010-08-182-0/+67
|
* gallivm: Use proper index to lookup predicate register array.michal2010-08-181-1/+1
| | | | Doesn't fix anything, as those indices were both always 0.
* r600: implement DP2 opcodeAndre Maasikas2010-08-181-2/+10
|
* glsl2: Regenerate builtin_function.cpp.Kenneth Graunke2010-08-171-4334/+4334
|
* glsl2: Fix cut and paste error in EXT_texture_array builtins.Kenneth Graunke2010-08-172-4/+4
| | | | Fixes fd.o bug #29629.
* glcpp: Refresh generated files.Carl Worth2010-08-172-229/+343
| | | | After a recent change to glcpp-parse.y (adding "redefined macro" error).
* glcpp: Add support for "redefined macro" error.Carl Worth2010-08-171-2/+123
| | | | | | | | | Carefully avoiding printing any error when the new definition matches the existing definition. This fixes the recently-added 088-redefine-macro-legitimate.c and 089-redefine-macro-error.c tests as well as glsparsertest/preprocess1 in piglit.
* glcpp: Add two new tests for testing redefined macros.Carl Worth2010-08-174-0/+58
| | | | | | The specification says that redefining a macro is an error, unless the new definitions is identical to the old one, (identical replacement lists but ignoring differing amounts of whitespace).
* glcpp: Allow standalone glcpp to accept a filename as first argument.Carl Worth2010-08-171-3/+11
| | | | This is useful for debugging the preprocessor.
* r600g: add FRC, FLR, DDX and DDYDave Airlie2010-08-181-4/+4
| | | | the first two are straight op2's and the DDX/DDY are taken from r600c.
* r600g: add SGE and SLE opcodesDave Airlie2010-08-181-2/+2
| | | | fixes fp-set-01 and glsl-fs-step
* r600g: add TXB supportDave Airlie2010-08-181-1/+1
| | | | fixes biased texturing tests
* r600g: fix TXP vs TEX in shader.Dave Airlie2010-08-182-65/+67
| | | | | | Don't do perspective for TEX, and also copy input to a temporary for TEX also add tex opcode names
* glcpp: Fix 064-version.c expected result to track recent change.Carl Worth2010-08-171-1/+0
| | | | | | In commit 6be3a8b70af4ba4fa4d037d54ecf6d5f055edbc9, the #version directive was fixed to stop generating a spurious newline. Here we simply update the expected result for the single test which includes a #version directive.
* glcpp: Regenerated glcpp-lex.c from previous commit.Carl Worth2010-08-171-194/+203
| | | | | The previous commit changed glcpp-lex.l so we commit the resulting generated file here.
* glcpp: Don't include the newline when discarding single-line commentsCarl Worth2010-08-171-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Matching the newline here meant having to do some redundant work here, (incrementing line number, resetting column number, and returning a NEWLINE token), that could otherwise simply be left to the existing rule which matches a newline. Worse, when the comment rule matches the newline as well, the parser can lookahead and see a token for something that should actually be skipped. For example, in a case like this: #if 0 // comment here fail #else win #endif Both fail and win appear in the output, (not that the condition is being evaluated incorrectly---merely that one token after the comment's newline was being lexed/parse regardless of the condition). This commit fixes the above test case, (which is also remarkably similar to 087-if-comments which now passes).
* r600g: add two simple tgsi opcodes.Dave Airlie2010-08-181-2/+2
| | | | makes glsl-fs-log2 and glsl1-integer division with uniform var pass
* r600g: fix point sizeDave Airlie2010-08-181-1/+1
| | | | fixes piglit pointAtten and point-sprite tests
* ir_to_mesa: Allow ir_return in main().Eric Anholt2010-08-171-2/+2
| | | | | | | | | I didn't expect that this would really work, but it turns out there are shaders in the wild that do it. Fixes: (with swrast) glsl-fs-main-return glsl-vs-main-return
* i965: Throw a link error when we see a "return" in main().Eric Anholt2010-08-171-0/+8
| | | | | We'll need to use the HALT instruction to do this right, like returns from other functions.
* r600g: fixup pitch alignment like r600c.Dave Airlie2010-08-182-3/+7
| | | | This still needs work, passes tex3d, fbo-scissor-bitmap, scissor-bitmap
* translate_sse: don't overwrite source buffer pointerLuca Barbieri2010-08-181-5/+5
| | | | | We were putting the source pointer in a register used as a temporary, breaking all paths that don't read the data in a single instruction.
* glcpp: Add testcase for #if handling bug that breaks Savage2.Eric Anholt2010-08-172-0/+11
|
* r600g: fix height calcs for miptreeDave Airlie2010-08-181-0/+1
| | | | | | | h needs to be rounded up, this probably needs revisiting when we get to tiling etc. fixes fbo-generatemipmap-npot
* r600g: emit texture level offset in CB/DB setup.Dave Airlie2010-08-181-2/+2
| | | | | | | 8 more piglit tests pass, fbo-clearmipmap, fbo-copyteximage, fbo-generatemipmap, fbo-generatemipmap-nonsquare, fbo-generatemipmap-scissor, fbo-generatemipmap-viewport, gen-teximage, gen-texsubimage
* ir_to_mesa: Fix implementation of ir_binop_equal, ir_binop_notequal.Eric Anholt2010-08-171-2/+26
| | | | | | | | | | | | | These binops are the vector-to-bool comparisons, not vec-to-bvec. We likely want both operations avilable as expression, since 915 and 965 FS naturally does the vector version, while 965 VS can also naturally do the scalar version. However, we can save that until later. Fixes: glsl-fs-vec4-operator-equal.shader_test glsl-fs-vec4-operator-notequal.shader_test glsl-vs-vec4-operator-equal.shader_test glsl-vs-vec4-operator-notequal.shader_test
* i915: Add support for SSG opcode.Eric Anholt2010-08-171-0/+35
| | | | Fixes glsl-fs-sign and many of the tests of trig builtins.
* i915: Add support for reading output regs in the FS.Eric Anholt2010-08-171-0/+14
| | | | | Fixes glsl-unused-varying and many others, since we produce an output reg read any time gl_FragColor is written inside an if statement.
* i915: Add support for OPCODE_DP2.Eric Anholt2010-08-171-0/+12
| | | | Fixes glsl-fs-dot-vec2.
* i915: Enable ARB_fragment_shader by default.Eric Anholt2010-08-171-1/+1
| | | | | | | | | | | | | | | | Now that we have glsl2 with if flattening in place, most shaders will just work. Remaining failing shaders will mostly be due to loop unrolling (in progress), some possible if flattening failures in inlining functions (planning on fixing), and the register/instruction count limits. While the GLSL and GLSL-ES specs say that shaders shouldn't fail to compile/link due to register/instruction limits, in practice we're not the first vendor to expose GLSL on hardware with these limitations. The benefit to application developers of providing a better language for GPU programming is greater than the pain of having to handle instruction limits (which they had to for ARB_fp on this hardware anyway)
* glsl2: Fix transpose of rows and colsIan Romanick2010-08-171-2/+2
| | | | | | | | | This error led to an assertion failure for some constructors of non-square matrices. It only occured in matrices where the number of columns was greater than the number of rows. It didn't even always occur on those. Fixes piglit glslparsertest case constructor-16.vert.