summaryrefslogtreecommitdiff
path: root/src/mesa/shader/prog_instruction.h
AgeCommit message (Collapse)Author
2009-11-19mesa: Remove gratuitous padding in prog_dst_register.Eric Anholt
The padding was there to indicate the amount of space left from the number of expected bytes in the struct minus allocated bits. But uint bitfields get packed so that they don't cross uint boundaries, and we ended up allocating an extra dword to hold the pad field!
2009-09-12mesa: remove unused SATURATE_PLUS_MINUS_ONE flagKeith Whitwell
Never set in mesa. Remove from tgsi translation as well.
2009-07-27r300: Move vertex program compilation to compilerNicolai Hähnle
This is just the first step of refactoring. The separation is not yet clean enough with this commit. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-04-29mesa: added _mesa_check_soa_dependencies() functionBrian Paul
This function will check an instruction to see if there's data dependencies between the dst and src registers if executed in an SOA manner.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
2009-03-07mesa: remove GL_MESA_program_debug extensionBrian Paul
This was never fully fleshed out and hasn't been used.
2009-03-04mesa: include mfeatures.hBrian Paul
See bug 20319.
2009-02-26mesa: replace old prog_instruction::Sampler field with Aux fieldBrian Paul
The i965 driver needs an extra instruction field for color output information. It was using the Sampler field for this. Use the Aux field instead. This will probaby be revisited at some point...
2009-02-20mesa: add TexShadow field to prog_instructionBrian Paul
If the instruction is TEX/TXP/TXL/etc the TexShadow field will be true if the instruction is a texture fetch with shadow compare.
2009-02-20mesa: freshen-up comments, move some fields in prog_instructionBrian Paul
2009-02-18mesa: increase MAX_UNIFORMS to 1024 (of vec4 type)Brian Paul
Old limit was 256. Note that no arrays are declared to this size. The only place we have to be careful about raising this limit is the prog_src/dst_register Index bitfields. These have been bumped up too. Added assertions to check we don't exceed the bitfield in the future too.
2009-02-09re-add MSAA supportBrian Paul
(cherry picked from commit f7d80aa00611917bc8ce637136d982b151b8f44f) This also involved adding the new MSAA fields to driCreateConfigs(). Also, re-add prog_instructions->Sampler field for i965 driver. Will have to revisit that.
2008-11-11Merge commit 'origin/master' into gallium-0.2Brian Paul
Conflicts: src/mesa/shader/prog_execute.c src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2008-11-11mesa: allow relative indexing into all register files and indirect dst ↵Brian Paul
register indexing
2008-11-08mesa: remove OPCODE_INT #defineBrian
2008-11-07Merge commit 'origin/master' into gallium-0.2Brian Paul
2008-11-07mesa: added DP2, DP2A instructionsBrian Paul
2008-11-07mesa: added AND/OR/NOT/XOR instructionsBrian Paul
2008-11-07mesa: added OPCODE_NRM3/NRM4 instructions for vector normalization.Brian Paul
We may emit these instructions from GLSL instead of DP3/RCP/MUL. Also, implement SSG (set sign) instruction in the interpreter.
2008-11-06Merge commit 'origin/master' into gallium-0.2Brian Paul
2008-11-06mesa: rename OPCODE_INT -> OPCODE_TRUNCBrian Paul
Trunc is a more accurate description; there's no type conversion involved.
2008-05-16Fix DRI buildBrian Paul
2008-05-14Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul
Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
2008-05-14sync up with gallium-0.1 changesBrian Paul
New _mesa_num_inst_dst_regs(), _mesa_is_tex_instruction() functions
2008-05-14mesa: added _mesa_free_instructions()Brian Paul
cherry-picked from gallium-0.1
2008-04-07mesa: added _mesa_free_instructions()Brian
2007-10-26Re-implement GLSL texture sampler variables.Brian
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
2007-08-07Naive implementation of IF/ELSE/ENDIF.michal
Handle TGSI labels correctly. Enhance MESA opcode info queries.
2007-03-28Get rid of BRK0, BRK1, CONT0, CONT1 instructions.Brian
2007-03-23Add the ability to generate programs that doesn't use condition codes.Brian
ctx->Shader.EmitCondCodes determines if we use condition codes. If not, IF statement uses first operand's X component as the condition. Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle the common cases of conditional break/continue.
2007-03-22updated commentBrian
2007-03-21added SWIZZLE_XYZWBrian
2007-03-21merge from masterBrian
2007-02-20added SWIZZLE_XXXX, SWIZZLE_YYYY, etcBrian
2007-02-20Merge branch 'glsl-compiler-1' of ↵Brian
git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
2007-02-08change BranchTarget to GLintBrian
2007-02-05additional comments for BranchTargetBrian
2007-02-05Initial support of loop and subroutine instructions.Brian
New high-level flow-control instructions, both at IR level and GPU instructions for looping and subroutines.
2007-01-31Overhaul handling of writemasks/swizzling. This fixes two problem cases:Brian
vec2 v; v.x = v.y = 1.0; // chained assignment vec4 v; v.zx = vec2(a,b); // swizzled writemask
2007-01-28noise functionsBrian
2007-01-23updated commentBrian
2007-01-23indicate which opcodes are used by Mesa GLSL, updated commentsBrian
2007-01-20Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.Brian
2007-01-17Added OPCODE_INT to convert 4 floats to 4 ints.Brian
2007-01-05added Sampler field to prog_instruction structBrian
2006-12-14Split the program.[ch] files into several new files.Brian