summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Improve usage message for glsl_compilerChad Versace2010-11-171-9/+19
| | | | | | | | | | | | | | | | | The new usage message lists possible command line options. (Newcomers to Mesa currently have to trawl through the source to find the command line options, and we should save them from that trouble.) Example Output -------------- usage: ./glsl_compiler [options] <file.vert | file.geom | file.frag> Possible options are: --glsl-es --dump-ast --dump-hir --dump-lir --link
* glsl: Refactor get_num_operands.Kenneth Graunke2010-11-172-71/+21
| | | | | | | | | | This adds sentinel values to the ir_expression_operation enum type: ir_last_unop, ir_last_binop, and ir_last_opcode. They are set to the previous one so they don't trigger "unhandled case in switch statement" warnings, but should never be handled directly. This allows us to remove the huge array of 1s and 2s in ir_expression::get_num_operands().
* r600g: code cleanup (indent, trailing space, empty line ...)Jerome Glisse2010-11-179-73/+70
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* glsl: Remove the ir_binop_cross opcode.Kenneth Graunke2010-11-177-54/+8
|
* Refresh autogenerated file builtin_function.cpp.Kenneth Graunke2010-11-171-3/+5
|
* glsl: Reimplement the "cross" built-in without ir_binop_cross.Kenneth Graunke2010-11-171-3/+5
| | | | | | We are not aware of any GPU that actually implements the cross product as a single instruction. Hence, there's no need for it to be an opcode. Future commits will remove it entirely.
* Regenerate glcpp parser.Kenneth Graunke2010-11-171-85/+90
|
* glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.Kenneth Graunke2010-11-171-1/+6
| | | | | | | | | This is really supposed to be defined only if the driver supports highp in the fragment shader - but all of our current ES2 implementations do. So, just define it. In the future, we'll need to add a flag to gl_context and only define the macro if the flag is set. "Fixes" freedesktop.org bug #31673.
* egl_dri2: Add missing intel chip ids.Robert Hooker2010-11-171-0/+12
| | | | Signed-off-by: Robert Hooker <[email protected]>
* glsl: Fix Doxygen tag \file in recently renamed filesChad Versace2010-11-1723-23/+23
|
* glsl: Fix erroneous cast in ast_jump_statement::hir()Chad Versace2010-11-171-2/+1
| | | | | | Return values were erroneously cast from (ir_rvalue*) to (ir_expression*). NOTE: This is a candidate for the 7.9 branch.
* glsl: Fix constant expression handling for <, >, <=, >= on vectors.Kenneth Graunke2010-11-171-48/+60
| | | | | | | | | | | | | | | | | ir_binop_less, ir_binop_greater, ir_binop_lequal, and ir_binop_gequal are defined to work on vectors as well as scalars, as long as the two operands have the same type. This is evident from both ir_validate.cpp and our use of these opcodes in the GLSL lessThan, greaterThan, lessThanEqual, greaterThanEqual built-in functions. Found by code inspection. Not known to fix any bugs. Presumably, our tests for the built-in comparison functions must pass because C.E. handling is done on the ir_call of "greaterThan" rather than the inlined opcode. The C.E. handling of the built-in function calls is correct. NOTE: This is a candidate for the 7.9 branch.
* r300g: print FS inputs uninitialized due to hardware limits to stderrMarek Olšák2010-11-171-7/+17
|
* r600c/evergreen: texture align is group_bytes just like 6xx/7xxAlex Deucher2010-11-172-14/+15
| | | | | | Default group bytes to 512 on evergreen. Don't query tiling config yet for evergreen, the current info returned is not adequate for evergreen (no way to get bank info).
* mesa: minor clean-ups in context codeBrian Paul2010-11-161-9/+26
|
* mesa: reorder texture_error_check() paramsBrian Paul2010-11-161-15/+15
| | | | To better match other functions.
* mesa: 80-column wrappingBrian Paul2010-11-161-13/+16
|
* mesa: whitespace cleanupsBrian Paul2010-11-161-35/+37
|
* mesa: fix error messages and minor reindentingBrian Paul2010-11-161-6/+9
|
* Refresh autogenerated glcpp parser.Kenneth Graunke2010-11-162-200/+210
|
* glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.Kenneth Graunke2010-11-161-0/+3
| | | | Per section 4.5.4 of the GLSL 1.30 specification.
* r600g: Synchronize supported color formats between Evergreen and r600/r700.Henri Verbeet2010-11-171-1/+4
|
* r600g: Swizzle vertex data only once.Henri Verbeet2010-11-172-35/+4
| | | | | Vertex data swizzles are already done in the vertex shader. Doing them twice breaks BGRA vertex arrays for example.
* r300g: remove the hack with OPCODE_RETMarek Olšák2010-11-161-4/+1
| | | | | | | | RET was interpreted as END, which was wrong. Instead, if a shader contains RET in the main function, it will fail to compile with an error message from now on. The hack is from early days.
* glsl: Simplify generation of swizzle for vector constructorsIan Romanick2010-11-161-6/+5
|
* glsl: Refactor is_vec_{zero,one} to be methods of ir_constantIan Romanick2010-11-163-68/+101
| | | | These predicates will be used in other places soon.
* libgl-gdi: Allow to pick softpipe/llvmpipe on runtime.José Fonseca2010-11-163-146/+64
|
* mesa: Add definitions for inverse hyperbolic function on MSVC.Vinson Lee2010-11-151-0/+3
|
* glsl: Add ir_constant_expression.cpp to SConscript.Vinson Lee2010-11-151-0/+1
| | | | | | This was accidentally removed in commit 32aaf89823de11e98cb59d5ec78c66cd3e74bcd4. Fixes SCons builds.
* glsl: remove opt_constant_expression.cpp from SConscriptBrian Paul2010-11-151-3/+2
| | | | And alphabetize the opt_* files.
* mesa: add more work-arounds for acoshf(), asinhf(), atahf()Brian Paul2010-11-151-0/+3
|
* glsl: fix assorted MSVC warningsBrian Paul2010-11-151-13/+13
|
* st/mesa: fix glDrawPixels(depth/stencil) bugsBrian Paul2010-11-151-13/+39
| | | | | | | | | | | When drawing GL_DEPTH_COMPONENT the usual fragment pipeline steps apply so don't override the depth state. When drawing GL_STENCIL_INDEX (or GL_DEPTH_STENCIL) the fragment pipeline does not apply (only the stencil and Z writemasks apply) so disable writes to the color buffers. Fixes some regressions from commit ef8bb7ada98f1ddc8e2554a7336af5d669cb1290
* glsl: Rename various ir_* files to lower_* and opt_*.Kenneth Graunke2010-11-1525-47/+47
| | | | | This helps distinguish between lowering passes, optimization passes, and other compiler code.
* glsl: Remove unused and out of date Makefile.am.Kenneth Graunke2010-11-151-81/+0
| | | | | This was from when glsl2 lived in a separate repository and used automake.
* glsl: Add constant expression handling for asinh, acosh, and atanh.Kenneth Graunke2010-11-151-0/+12
|
* glsl: Refresh autogenerated file builtin_function.cpp.Kenneth Graunke2010-11-151-2999/+189
|
* glsl: Implement the asinh, acosh, and atanh built-in functions.Kenneth Graunke2010-11-155-4/+79
|
* generate_builtins.py: Fix inconsistent use of tabs and spaces warning.Kenneth Graunke2010-11-151-3/+3
|
* glsl: Refresh autogenerated lexer and parser files.Kenneth Graunke2010-11-153-2015/+2183
| | | | For the last three commits.
* glsl: Add support for the 'u' and 'U' unsigned integer suffixes.Kenneth Graunke2010-11-151-6/+8
|
* glsl: Add new keywords and reserved words for GLSL 1.30.Kenneth Graunke2010-11-152-0/+22
|
* glsl: Rework reserved word/keyword handling in the lexer.Kenneth Graunke2010-11-151-117/+122
| | | | | | | | | | | | | | | | This consolidates the TOKEN_OR_IDENTIFIER and RESERVED_WORD macros into a single KEYWORD macro. The old TOKEN_OR_IDENTIFIER macros handled the case of a word going from an identifier to a keyword; the RESERVED_WORD macro handled a word going from a reserved word to a language keyword. However, neither could properly handle samplerBuffer (for example), which is an identifier in 1.10 and 1.20, a reserved word in 1.30, and a keyword in 1.40 and on. Furthermore, the existing macros didn't properly handle reserved words in GLSL ES 1.00. The best they could do was return a token (rather than an identifier), resulting in an obtuse parser error, rather than a user-friendly "you used a reserved word" error message.
* glsl: Convert glsl_type::base_type from #define'd constants to an enum.Kenneth Graunke2010-11-152-12/+14
| | | | | This is nice because printing type->base_type in GDB will now give you a readable name instead of a number.
* glsl: Remove GLSL_TYPE_FUNCTION define.Kenneth Graunke2010-11-152-9/+2
| | | | | | | Functions are not first class objects in GLSL, so there is never a value of function type. No code actually used this except for one function which asserted it shouldn't occur. One comment mentioned it, but was incorrect. So we may as well remove it entirely.
* r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.Henri Verbeet2010-11-151-0/+2
|
* r600: Evergreen has two extra frac_bits for the sampler LOD state.Henri Verbeet2010-11-151-3/+3
| | | | Note: this is a candidate for the 7.9 branch.
* r600g: Evergreen has two extra frac_bits for the sampler LOD state.Henri Verbeet2010-11-151-3/+3
| | | | The (piglit) mipmap_limits test shows the issue very clearly.
* r600g: Cleanup the fenced_bo list in r600_context_fini().Henri Verbeet2010-11-151-0/+13
|
* gallium/noop: no operation gallium driverJerome Glisse2010-11-159-0/+1002
| | | | | | | | | | | | | | | | | This driver is a fake swdri driver that perform no operations beside allocation gallium structure and buffer for upper layer usage. It's purpose is to help profiling core mesa/gallium without having pipe driver overhead hidding hot spot of core code. scons file are likely inadequate i am unfamiliar with this build system. To use it simply rename is to swrast_dri.so and properly set LIBGL_DRIVERS_PATH env variable. Signed-off-by: Jerome Glisse <[email protected]>