Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-06-30 | glsl2: Use _mesa_glsl_parse_state as the talloc parent, not glsl_shader. | Kenneth Graunke | |
_mesa_glsl_parse_state should be the parent for all temporary allocation done while compiling a shader. glsl_shader should only be used as the parent for the shader's final IR---the _result_ of compilation. Since many IR instructions may be added or discarded during optimization passes, IR should not ever be allocated to glsl_shader directly. Done via sed -i s/talloc_parent(state)/state/g and s/talloc_parent(st)/st/g. This also removes a ton of talloc_parent calls, which may help performance. | |||
2010-06-30 | glsl2: Steal the live IR and free the rest of the junk. | Kenneth Graunke | |
2010-06-30 | linker: Don't dynamically allocate slots for linked shaders | Ian Romanick | |
The can be at most one shader per stage. There are currently only two stages. There is zero reason to dynamically size this array. | |||
2010-06-30 | linker: Don't automatically allocate VERT_ATTRIB_GENERIC0 | Ian Romanick | |
2010-06-30 | glsl2: Use Mesa's gl_shader_program instead of our own struct glsl_program. | Eric Anholt | |
This avoids more allocation and shuffling of data around. | |||
2010-06-30 | glsl2: Make function names and variable names be children of the node. | Eric Anholt | |
This avoids losing their memory when the parser state is freed. | |||
2010-06-30 | glsl2: Move our data from a glsl_shader* on the side to the main gl_shader *. | Eric Anholt | |
This saves recompiling at link time. gl_shader->ir is made a pointer so that we don't have to bring exec_list into mtypes.h. | |||
2010-06-29 | ir_to_mesa: Start adding support for texture instructions. | Eric Anholt | |
Fixes: glsl-fs-bug25902 glsl-fs-sampler-numbering glsl-lod-bias | |||
2010-06-29 | glsl2: Keep the same number of components in implicit conversions. | Kenneth Graunke | |
Fixes piglit test glsl-implicit-conversion-01. | |||
2010-06-29 | glsl2: Make gl_MaxDrawBuffers available in the vertex shader | Ian Romanick | |
2010-06-29 | glsl2: Make gl_MaxDrawBuffers available in the fragment shader | Ian Romanick | |
2010-06-29 | glsl2: Make gl_FragData be available in GLSL 1.10 too | Ian Romanick | |
2010-06-29 | glsl2: Pass MaxDrawBuffers from core Mesa into the GLSL compiler | Ian Romanick | |
2010-06-29 | glsl_type: Add _mesa_glsl_release_types to release all type related storage | Ian Romanick | |
2010-06-29 | glsl_type: All glsl_type objects live in their own talloc context | Ian Romanick | |
2010-06-29 | glsl_type: Record type constructors are private | Ian Romanick | |
2010-06-29 | glsl_type: Add get_record_instance method | Ian Romanick | |
2010-06-29 | glsl_type: Vector, matrix, and sampler type constructors are private | Ian Romanick | |
2010-06-29 | glsl_type: Make all static objects be class private | Ian Romanick | |
2010-06-29 | glsl2: Use talloc_strdup when generating constructor temporary names | Ian Romanick | |
2010-06-29 | glsl_type: Remove vector and matrix constructor generators | Ian Romanick | |
All scalar, vector, and matrix constructors are generated in-line during AST-to-HIR translation. There is no longer any need to generate function versions of the constructors. | |||
2010-06-29 | glsl2: Don't flatten constructor parameters to scalars | Ian Romanick | |
Now that all scalar, vector, and matrix constructors are emitted in-line, the parameters to these constructors should not be flattened to a pile of scalars. Instead, the functions that emit the in-line constructor bodies can directly write the parameters to the correct locations in the objects being constructed. | |||
2010-06-29 | glsl2: Always emit matrix constructors inline | Ian Romanick | |
2010-06-29 | glsl2: Always emit vector constructors inline | Ian Romanick | |
2010-06-29 | ir_swizzle: Add new constructor, refactor constructors | Ian Romanick | |
Adds a new constructor that takes an array of component values. Refactors the meat of the two constructors to an init_mask method. | |||
2010-06-29 | glsl2: Update TODO. | Kenneth Graunke | |
2010-06-29 | glsl2: Check for non-void functions that don't have a return statement. | Kenneth Graunke | |
This doesn't do any control flow analysis to ensure that the return statements are actually reached. Fixes piglit tests function5.frag and function-07.vert. | |||
2010-06-29 | glsl2: Reject return types with qualifiers. | Kenneth Graunke | |
Fixes piglit test return-qualifier.frag. | |||
2010-06-29 | glsl2: Add a method for querying if an AST type has any qualifiers. | Kenneth Graunke | |
2010-06-29 | glsl2: Check that returned expressions match the function return type. | Kenneth Graunke | |
From my reading of the specification, implicit conversions are not allowed. ATI seems to agree, though nVidia allows it without warning. | |||
2010-06-28 | Use a more sensible context in copy propagation. | Kenneth Graunke | |
2010-06-28 | Use more sensible contexts in ir_dead_code_local. | Kenneth Graunke | |
2010-06-28 | glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizations | Ian Romanick | |
2010-06-28 | glsl2: Use i2b and f2b IR opcodes for casting int or float to bool | Ian Romanick | |
2010-06-25 | ir_reader: Free memory for S-Expressions earlier. | Kenneth Graunke | |
There's no point in keeping it around once we've read the IR. Also, remove an unnecessary talloc_parent call. | |||
2010-06-25 | glsl2: Associate the GLenum for the type with builtin GLSL types. | Eric Anholt | |
2010-06-25 | glsl2: Use the parser state as the talloc context for dead code elimination. | Eric Anholt | |
This cuts runtime by around 20% from talloc_parent() lookups. | |||
2010-06-25 | glsl2: Start integrating ir_to_mesa.cpp into shader_api.h | Eric Anholt | |
The compiler is now called by the driver, and generates program instructions. Parameter lists are still not set up, so the driver chokes on it shortly thereafter. | |||
2010-06-25 | glsl2: Use Mesa types instead of duping them into our program.h. | Eric Anholt | |
2010-06-25 | glsl2: Fix dependencies. (at least partially) | Eric Anholt | |
2010-06-24 | glsl2: Replace the GLSL compiler with the glsl2 project. | Eric Anholt | |
2010-06-24 | glsl2: Wrap includes of C interfaces with extern "C". | Eric Anholt | |
2010-06-24 | glsl2: Remove files that had been imported for standalone. | Eric Anholt | |
2010-06-24 | glsl2: Stop .gitignoring the old standalone build system. | Eric Anholt | |
2010-06-24 | glsl2: Move the Mesa IR codegen into mesa/shader/ | Eric Anholt | |
2010-06-24 | Merge branch 'glsl2-head' into glsl2 | Eric Anholt | |
This brings in the standalone GLSL compiler that we are planning on replacing the existing Mesa GLSL compiler. It currently targets GLSL 1.20 and the Mesa IR. | |||
2010-06-24 | glsl2: Add a README file for the new compiler. | Eric Anholt | |
2010-06-24 | glsl2: Move the compiler to the subdirectory it will live in in Mesa. | Eric Anholt | |
2010-06-04 | glsl: Recject rect samplers when GL_ARB_texture_rectangle is disabled | Kristian Høgsberg | |
2010-02-25 | glsl: implement support for GL_EXT_texture_array | Brian Paul | |
GL_EXT_texture_array is different from the existing GL_MESA_texture_array support in that the former is only supported for GLSL, not fixed-function. The shadow compare versions of the sampler functions haven't been tested yet. The non-shadow versions have been tested with a new piglit test. |