summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi/tgsi_ureg.c
AgeCommit message (Collapse)Author
2011-01-24gallium: implement modern sampling schemeZack Rusin
largely a merge of the previously discussed origin/gallium-resource-sampling but updated. the idea is to allow arbitrary binding of resources, the way opencl, new gl versions and dx10+ require, i.e. DCL RES[0], 2D, FLOAT LOAD DST[0], SRC[0], RES[0] SAMPLE DST[0], SRC[0], RES[0], SAMP[0]
2010-12-24gallium: add fragment shader property for color writes to all buffers. (v2)Dave Airlie
For GL fragColor semantics we need to tell the pipe drivers that the fragment shader color result is to be replicated to all bound color buffers, this adds the basic TGSI + documentation. v2: fix missing comma pointed out by Tilman on mesa-dev. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-27ureg: support centroid interpolationLuca Barbieri
2010-06-11tgsi: support 2d indirect addressingZack Rusin
2010-06-09geometry shaders: make gs work with changable primitives and variable number ↵Zack Rusin
of vertices lots and lots of fixes for geometry shaders. in particular now we work when the gs emits a different primitive than the one the pipeline was started with and also we work when gs emits more vertices than would fit in the original buffer.
2010-05-11mesa/st+tgsi: Provide a free callback to match with ureg_get_tokens().José Fonseca
This fixes crashes with the memory debugging routines on Windows. NOTE: This is a candidate for the 7.8 stable branch
2010-05-03gallium: Remove loop register file.José Fonseca
It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is just like another address register now.
2010-04-18tgsi: replace 0xf with TGSI_WRITEMASK_XYZWBrian Paul
2010-02-09tgsi: Add ureg_DECL_fs_input_cyl().Michal Krol
Allows one to declare fragment shader inputs with cylindrical wrap info.
2010-02-03Merge branch 'gallium-embedded'José Fonseca
2010-02-02gallium: Make pipe_atomic a regular int32_t.José Fonseca
2010-02-02tgsi: ureg_DECL_gs_input() accepts shader semantics.Michal Krol
2010-01-29tgsi: add properties for fragment coord conventions (v3)Luca Barbieri
Changes in v3: - Documented the new properties - Added comments for property values - Rebased to current master Changes in v2: - Caps are added in a separate, subsequent patch This adds two TGSI fragment program properties that indicate the fragment coord conventions. The properties behave as described in the extension spec for GL_ARB_fragment_coord_conventions, but the default origin in upper left instead of lower left as in OpenGL. The syntax is: PROPERTY FS_COORD_ORIGIN [UPPER_LEFT|LOWER_LEFT] PROPERTY FS_COORD_PIXEL_CENTER [HALF_INTEGER|INTEGER] The names have been chosen for consistency with the GS properties and the OpenGL extension spec. The defaults are of course the previously assumed conventions: UPPER_LEFT and HALF_INTEGER.
2010-01-28tgsi: Constants declared with ureg_DECL_constant() are one-dimensional.Michal Krol
This is to maintain backward compatibility with drivers that don't support arrays of constant buffers.
2010-01-28tgsi: Add ureg_property_gs_output_prim/max_vertices().Michal Krol
2010-01-28gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol
2010-01-28tgsi: Handle 2-D declarations.Michal Krol
2010-01-28tgsi: Silence uninitialized variable warning.Vinson Lee
2010-01-18tgsi: Allow TEMPORARY registers as indirect address into source operands.Michal Krol
2010-01-18tgsi: Add ureg_DECL_immediate_block_uint().Michal Krol
Allows declaring a contiguous block of immediates. Useful for relative indexing.
2010-01-15tgsi: Add ureg_property_gs_input_prim().Michal Krol
2010-01-15tgsi: Add ureg_src_dimension().Michal Krol
2010-01-05Merge branch 'master' into instanced-arraysMichal Krol
Conflicts: src/gallium/auxiliary/tgsi/tgsi_dump.c src/gallium/include/pipe/p_shader_tokens.h
2010-01-05tgsi/ureg: Improve immediate match & expand logic.Michal Krol
Do not pollute immediates with unsuccessfull attempts to expand them.
2010-01-05tgsi: Support signed/unsigned integer immediate types.Michal Krol
2009-12-31Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: configs/darwin src/gallium/auxiliary/util/u_clear.h src/gallium/state_trackers/xorg/xorg_exa_tgsi.c src/mesa/drivers/dri/i965/brw_draw_upload.c
2009-12-30tgsi: Support system values in ureg.Michal Krol
2009-12-27tgsi/ureg: Silence uninitialized variable warnings.Vinson Lee
2009-12-14tgsi/ureg: Add ureg_DECL_gs_input().Michal Krol
Allows one to declare GS input registers.
2009-12-08tgsi: fix some off-by-one errors in shader length, instruction lengthBrian Paul
The ureg and/or tgsi-simplification work introduced some inconsistencies between the ureg and traditional TGSI construction code. Now the tgsi_instruction::NrTokens field is consistant and the tgsi_header::BodySize field isn't off by one. Fixes bug 25455.
2009-12-03tgsi/ureg: Fix ureg_emit_src().Michal Krol
2009-12-01tgsi: fix ureg emit after version token changeKeith Whitwell
2009-12-01Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell
Conflicts: src/gallium/drivers/r300/r300_vs.c
2009-11-27tgsi: Remove tgsi_version token.Michal Krol
2009-11-26tgsi/ureg: Add forgotten goto in ureg_DECL_constant().Michal Krol
2009-11-24tgsi: reduce repetition of structure name in its membersKeith Whitwell
Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
2009-11-24gallium: simplify tgsi tokens furtherKeith Whitwell
Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.
2009-11-24tgsi: Add ureg_DECL_loop().Michal Krol
2009-11-24tgsi: Account for gallium shader token representation changes.Michal Krol
2009-11-10tgsi/ureg: Simplify logic in tokens_expand().Michal Krol
2009-11-04tgsi/ureg: Allow for multiple extended instruction tokens.Michal Krol
For example, we would like to have a predicate and texture token in one instruction to do predicated texture sampling.
2009-11-02tgsi/ureg: Add negate and swizzle for predicates.Michal Krol
2009-11-02tgsi/ureg: Update for gallium interface changes.Michal Krol
2009-10-23gallium: remove extended negate also, and also the ExtSwz tokenKeith Whitwell
Likewise, the extended negate functionality hasn't been used since mesa switched to using tgsi_ureg to build programs, and has been translating the SWZ opcode internally to a single MAD.
2009-09-12tgsi: add missing implementation of constant decl changeKeith Whitwell
2009-09-12ureg: add a mechanism to get the built tokens rather than a full shaderKeith Whitwell
Previously ureg would always call the driver's create-shader function. This allows the caller the opportunity to hold onto the tokens if it needs to reuse them, eg. to create an internal draw shader.
2009-09-12ureg: add generic emitters for tex and branch instructionsKeith Whitwell
Couldn't previously emit these except by calling the opcode-specific helper.
2009-09-12tgsi/ureg: give ureg_DECL_constant an explicit index parameterKeith Whitwell
Avoid the need to emit all constant declarations in order. Makes referring to a specific constant in the constant buffer much easier.
2009-09-12tgsi/ureg: VS inputs don't have any semantic tags, just an indexKeith Whitwell
Fix ureg_DECL_vs_input to reflect this and fix up all callers.
2009-09-12tgsi: free tokens on errorKeith Whitwell