a5f44cc8c2ce0916809ce5da5a2490ad000ef099 |
|
01-May-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Split sampler views from shader resources. This commit splits the current concept of resource into "sampler views" and "shader resources": "Sampler views" are textures or buffers that are bound to a given shader stage and can be read from in conjunction with a sampler object. They are analogous to OpenGL texture objects or Direct3D SRVs. "Shader resources" are textures or buffers that can be read and written from a shader. There's no support for floating point coordinates, address wrap modes or filtering, and, unlike sampler views, shader resources are global for the whole graphics pipeline. They are analogous to OpenGL image objects (as in ARB_shader_image_load_store) or Direct3D UAVs. Most hardware is likely to implement shader resources and sampler views as separate objects, so, having the distinction at the API level simplifies things slightly for the driver. This patch introduces the SVIEW register file with a declaration token and syntax analogous to the already existing RES register file. After this change, the SAMPLE_* opcodes no longer accept a resource as input, but rather a SVIEW object. To preserve the functionality of reading from a sampler view with integer coordinates, the SAMPLE_I(_MS) opcodes are introduced which are similar to LOAD(_MS) but take a SVIEW register instead of a RES register as argument.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
82b71db03ddaf0eed504412c9169db37cf9bdadc |
|
14-Jan-2012 |
Tom Stellard <tstellar@gmail.com> |
gallium: Move duplicated helper macros to tgsi_exec.h
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
6b63e25b3d7a6ac0bd738c139ead0c7e7ad84368 |
|
14-Jan-2012 |
Tom Stellard <tstellar@gmail.com> |
gallium: Prefix #defines in tgsi_exec.h with TGSI_
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
9ee1bcf7a5442ccb517a5cfbaf024755bd4d2738 |
|
14-Jan-2012 |
Tom Stellard <tstellar@gmail.com> |
gallium: Unify defines of CHAN_[XYZW] in tgsi_exec.h
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
34a78b7ef6b0edf217acf221eab4b63542be5552 |
|
05-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
tgsi/softpipe: add VertexID support. This required changing the system value semantics, so we stored a system value per vertex, instance id is the only other system value we currently support, so I span it across the channels. This passes the 3 vertexid-* piglit tests + lots of instanceid tests. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
67e3cbf1632e361220234013147331e4618b70cb |
|
09-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
gallium: introduce GLSL based interpolation rules. (v2) This introduces an unspecified interpolation paramter that is only allowed for color semantics, so a specified GLSL interpolation will override the ShadeModel specified interpolation, but not vice-versa. This fixes a lot of the interpolation tests in piglit. v2: rename from unspecified to color Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
f5bfe54a34d9c8cd5de2b096d0e8486fe0d990a7 |
|
27-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: add and use PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS This removes: - PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS - PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS in favor of the that new per-shader cap. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
2083a276eb270b748d1c2668eb9faa5aadc8e700 |
|
26-Aug-2011 |
Dave Airlie <airlied@redhat.com> |
tgsi: add support for texture offsets to the TGSI IR. (v2) This adds tokens for texture offsets, to store 4 * swizzled vec 3 for use in TXF and other opcodes. It also contains TGSI exec changes for softpipe to use this code, along with GLSL->TGSI support for TXF. v2: add some more comments, add back padding I removed. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
d562f97bef99e051842ae0cec8f5ac46a10a73c4 |
|
25-Aug-2011 |
Dave Airlie <airlied@redhat.com> |
tgsi: add TXF support. This is a straight texel fetch with no filtering or clamping. It uses integers to specify the i/j/k (from EXT_gpu_shader4). To enable this I had to add another hook into the tgsi sampler so that we could easily bypass all the filtering sample does. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
7f1b9ddd12e97ac57c4818646c17521bb0c2c358 |
|
25-Aug-2011 |
Dave Airlie <airlied@redhat.com> |
tgsi: add TXQ support. (v2) this adds another callback in the sampler struct containing get_dims entry point. This is used to query the driver for the texture resource dimensions for the resource bound to the current sampler. v2: remove unusued variable, fix indent Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
17b695e6e7dd730497fb60a8e161935b23fa0e9c |
|
06-May-2011 |
Bryan Cain <bryancain3@gmail.com> |
gallium: add PIPE_SHADER_CAP_INTEGERS
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
ff2a0faba068ac8bc891f4a6427ad3e241c5f09f |
|
02-Mar-2011 |
Zack Rusin <zack@kde.org> |
tgsi: defer allocation of huge inputs/outputs until we have a gs
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
bdbe77f9c6f06cfaa155f27c2ade3c523d7fbea7 |
|
24-Jan-2011 |
Zack Rusin <zackr@vmware.com> |
gallium: implement modern sampling scheme 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]
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
859f45a92197f310186924c47ef7b7d1c2bd7ec8 |
|
09-Dec-2010 |
Brian Paul <brianp@vmware.com> |
tgsi: add support for system values to TGSI interpreter
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
9aa089eac05ebefafb6610b4a7e209b2fd1e93f6 |
|
14-Nov-2010 |
Marek Olšák <maraeo@gmail.com> |
gallium: add PIPE_SHADER_CAP_SUBROUTINES This fixes piglit/glsl-vs-main-return and glsl-fs-main-return for the drivers which don't support RET (i915g, r300g, r600g, svga). ir_to_mesa does not currently generate subroutines, but it's a matter of time till it's added. It would then break all the drivers which don't implement them, so this CAP makes sense. Signed-off-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
53b7ec91caa99c1ddd51262b4c311d93995726ba |
|
12-Nov-2010 |
Marek Olšák <maraeo@gmail.com> |
tgsi: fill out CAPs for indirect addressing
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
f93d6f929f2439f87950df2c30c6c48b6dcac395 |
|
04-Nov-2010 |
Michal Krol <michal@vmware.com> |
tgsi/exec: Get rid of obsolete condition codes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
a508d2dddcc67d0f92cc36b9ed6f36a9bbfc579d |
|
05-Sep-2010 |
Luca Barbieri <luca@luca-barbieri.com> |
gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3) Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
ba2cc3b8e6ad161181b67fd2575c6bc768584d23 |
|
29-Jul-2010 |
Brian Paul <brianp@vmware.com> |
gallium: implement bounds checking for constant buffers Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
101f792a2af9c9a19a050afba8b60caa689466a5 |
|
18-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
gallium: add a temporary array register file like normal temporaries, but allows to define a number of distinct arrays, all of which make it explicit that they contain /indexable/ registers. as a side-effect we're adding support for multi-dimensional destination registers. The whole thing looks like this: DCL TEMPX[0][0..128] # 0 array with 128 registers ADD TEMPX[0][0], IN[0], IMM[0] ADD TEMPX[0][1], IN[0], IMM[0] ABS OUT[0], TEMPX[0][TEMP[0]]
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
2b221e11da7a8bf759e3c359f22ba6f49d5f0997 |
|
18-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
gallium: add a new register file - immediate array allows one to specify a safe (bound checked) array filled with immediates. it works just like a const array and declares much like our current immediates.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
7b5931b313b8a38fd564435e69e644320fb3de5e |
|
12-May-2010 |
José Fonseca <jfonseca@vmware.com> |
softpipe: Adverstise (tgsi_exec's) shader limits.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
fbb1ad33a42f91797327a099d6565d1c201099b4 |
|
06-May-2010 |
Brian Paul <brianp@vmware.com> |
gallium/tgsi: remove unused tgsi_exec_labels code
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
d288698a76e2ad8408d303570578856a05ea96d0 |
|
03-May-2010 |
José Fonseca <jfonseca@vmware.com> |
gallium: Remove loop register file. It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is just like another address register now.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
7c5f255201f42303188137f56ea8acc030444f0e |
|
25-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
835bab0143e11ab98551a061043f944fd6eab456 |
|
19-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Implement 2D constant buffers for fragment shader in softpipe.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
4440428faa82f01b4dfb4be89618be2aaf153abd |
|
07-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Fix texture sampling with explicit LOD in softpipe.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
4bfe1c955fe679547c8a03119d1681e33593c768 |
|
07-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Pass per-element (not per-quad) LOD bias values down to texture sampler.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
062aab96e015021f3b83067848495a8ce2d92456 |
|
01-Jan-2010 |
Michal Krol <michal@vmware.com> |
gallium: Add SWITCH, CASE, DEFAULT and ENDSWITCH opcodes to TGSI. Provide reference implementation of them in tgsi_exec. Note that BREAK opcode is overloaded and can be used to break out of either a loop or a switch-case statement.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
89d8577fb3036547ef0b47498cc8dc5c77f886e0 |
|
14-Dec-2009 |
Zack Rusin <zackr@vmware.com> |
gallium: add geometry shader support to gallium
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
0c54d76f3783091267cb18e6bd23697d024c95b2 |
|
24-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Implement predicated instructions in exec.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
cc35a454da08e7303c76a51972bcccf7d67b7704 |
|
23-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Fix POSITION and FACE fragment shader inputs.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
b7590cde4a475cd785030d7c7909846ae72608e5 |
|
23-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Bring BGNFOR/ENDFOR implementation up to spec.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
7ccf60ae40b2a201d446400bc8329df51e83cb6c |
|
03-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Up tgsi_exec's control flow nesting to 32.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
aa2b2e5d7d53ddd08425536edddec509a8834bfc |
|
02-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Update for gallium interface changes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
d78a19612173eda51b93818a16a947201a785f3f |
|
10-Sep-2009 |
Brian Paul <brianp@vmware.com> |
tgsi: use new tgsi_call_record to handle execution mask stacks This fixes some issues when "return"ing from nested loops/conditionals.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
848ab8be8c34b00b2afe6120882f8c29f047ced5 |
|
03-Sep-2009 |
Keith Whitwell <keithw@vmware.com> |
aux/tgsi: pull back ureg work from 0.1 branch Manual merge of ureg changes on the branch. Too much unrelated stuff for a proper merge.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
013bd4da1a4c112334c0b658f2506446df3666a6 |
|
20-Aug-2009 |
Brian Paul <brianp@vmware.com> |
tgsi: handle SOA dependencies for MOV/SWZ SOA dependencies can happen when a register is used both as a source and destination and the source is swizzled. For example: MOV T, T.yxwz; would expand into: MOV t0, t1; MOV t1, t0; MOV t2, t3; MOV t3, t2; The second instruction will produce the wrong result since we wrote to t0 in the first instruction. We need to use an intermediate temporary to fix this. This will take more work to fix for all TGSI instructions. This seems to happen with MOV instructions more than anything else so fix that case now and warn on others. Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
4e3002b50fcedf3a6db1ac7394077bc3337ccda1 |
|
16-Jul-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
tgsi: no need to separately malloc input and output arrays Can now guarantee alignment in the initial allocation of the tgsi exec machine.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
c202fe187cf7a08d60e23ce617a5820a8bc510fd |
|
16-Jul-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: reduce recursive include of tgsi_exec.h A lot of draw code no longer needs to see this header.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
7fb702705a77df46074b9e09e9c5e5903036c732 |
|
16-Jul-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
tgsi: make function call code in tgsi_sse.c less opaque Explictly pass src and dst arguments (previously dst argument was also being used as a src). Separate argument handling from the rest of the function call emit.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
6175653d0bceedba1f599d27111bab14f312f134 |
|
16-Jul-2009 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: proper constructor and destructor for tgsi_exec_machine Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
45e744dddc8a8f3b42610bfa512bc296bd5264bc |
|
04-Jun-2009 |
Brian Paul <brianp@vmware.com> |
tgsi: increase MAX_LABELS to 4096
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
0f82aa5f15479aea692613fb56643bf3b769cf37 |
|
23-Mar-2009 |
Brian Paul <brianp@vmware.com> |
tgsi: minor comments
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
0b9e96fae9493d5d58f046e01c983a3c4267090e |
|
24-Nov-2008 |
Brian <brian.paul@tungstengraphics.com> |
softpipe: remove old/unneeded dependencies between TGSI exec and softpipe Use tgsi_sampler struct as a base class. Softpipe subclasses it and adds the fields it needs.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
26c8593093bd9e42d06a54ed8cfdedce2fb44332 |
|
12-Nov-2008 |
Michal Krol <michal@tungstengraphics.com> |
tgsi: More comments on source register indirect and 2D indexing.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
03c0ce4c61fd970509d605fe78166e828fc1df57 |
|
05-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added tgsi_set_exec_mask()
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
e2da7edd642198d7c515dbc0b9ba77d4286c3262 |
|
18-Aug-2008 |
Michal Krol <michal@tungstengraphics.com> |
tgsi: Add condition code (CC) register.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|
c208a2c791fa24c7c5887fc496738cbddbfafc72 |
|
27-Jul-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Merge tgsi/exec and tgsi/util directories.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_exec.h
|