0f6a3a7de3b56a383061635016cdb10f0229bf02 |
|
23-May-2012 |
Vinson Lee <vlee@freedesktop.org> |
tgsi: Initialize Padding struct fields. Fix uninitialized scalar variable defects report by Coverity. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
96956dc5076fc03b9290368ca90e3f3b870ee613 |
|
11-May-2012 |
José Fonseca <jfonseca@vmware.com> |
gallium/tgsi: s/TGSI_BUFFER/TGSI_TEXTURE_BUFFER/ For consistency. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
223831ca146bc3aca615542794a7c3800ccbcc6f |
|
11-May-2012 |
José Fonseca <jfonseca@vmware.com> |
gallium/tgsi: Redefine the TGSI_TEXTURE_UNKNOWN texture target. Some code relies on the existing of an invalid texture target. It seems safer to bring it back than to deal with unintended consequences. This partially reverts commit a4ebb04214bab1cd9bd41967232ec89441e31744. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
e9072863b18e4a8cf78e72bf25abbb433de1b486 |
|
20-Mar-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Fix tgsi_build_full_immediate() for non-float data types.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
2644952bd4dfa3b75112dee8dfd287a12d770705 |
|
18-Mar-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Introduce the "LOCAL" register declaration modifier. This change will be useful to implement function parameter passing on top of TGSI. As we don't have a proper stack, a register-based calling convention will be used instead, which isn't necessarily a bad thing given that GPUs often have plenty of registers to spare. Using the same register space for local temporaries and inter-procedural communication caused some inefficiencies, because in some cases the register allocator would lose the freedom to merge temporary values together into the same physical register, leading to suboptimal register (and sometimes, as a side effect, instruction) usage. The LOCAL declaration modifier specifies that the value isn't intended for parameter passing and as a result the compiler doesn't have to give any guarantees of it being preserved across function boundaries. Ignoring the LOCAL flag doesn't change the semantics of a valid program in any way, because local variables are just supposed to get a more relaxed treatment. IOW, this should be a backwards-compatible change.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
b8e808f1ef9462af8545999df514fddbbff34345 |
|
30-Apr-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Add resource write-back support. Define a new STORE opcode with a role dual to the LOAD opcode, and add flags to specify that a shader resource is intended for writing.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
82c90b2da8e236bc134cb2bd0ec4e09551b12164 |
|
30-Apr-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Add support for raw resources. Normal resource access (e.g. the LOAD TGSI opcode) is supposed to perform a series of conversions to turn the texture data as it's found in memory into the target data type. In compute programs it's often the case that we only want to access the raw bits as they're stored in some buffer object, and any kind of channel conversion and scaling is harmful or inefficient, especially in implementations that lack proper hardware support to take care of it -- in those cases the conversion has to be implemented in software and it's likely to result in a performance hit even if the pipe_buffer and declaration data types are set up in a way that would just pass the data through. Add a declaration flag that marks a resource as typeless. No channel conversion will be performed in that case, and the X coordinate of the address vector will be interpreted in byte units instead of elements for obvious reasons. This is similar to D3D11's ByteAddressBuffer, and will be used to implement OpenCL's constant arguments. The remaining four compute memory spaces can also be understood as raw resources.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
a4ebb04214bab1cd9bd41967232ec89441e31744 |
|
30-Apr-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Define the TGSI_BUFFER texture target. This texture type was already referred to by the documentation but it was never defined. Define it as 0 to match the pipe_texture_target enumeration values.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
1279923d72942ee201fcc6ad40d552143f651f03 |
|
30-Apr-2012 |
Francisco Jerez <currojerez@riseup.net> |
gallium/tgsi: Move interpolation info from tgsi_declaration to a separate token. Move Interpolate, Centroid and CylindricalWrap from tgsi_declaration to a separate token -- they only make sense for FS inputs and we need room for other flags in the top-level declaration token.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
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_build.c
|
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_build.c
|
08520bdea2db623044e2e46c21402039fd8fe5e2 |
|
01-May-2011 |
Marek Olšák <maraeo@gmail.com> |
tgsi: remove set-but-unused variables
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
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_build.c
|
ef6b7e0a30814badd201ca1b3e1f5afb4ba21fef |
|
04-Nov-2010 |
Brian Paul <brianp@vmware.com> |
tgsi: remove unused function
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
420400f67fce15512a8fcab770dde83a3eacc5cc |
|
04-Nov-2010 |
Michal Krol <michal@vmware.com> |
tgsi/build: Reduce interface clutter. Make private those functions that are used internally only.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
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_build.c
|
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_build.c
|
6f6d740c851aa8bedc7c51dbd5db14de338787f1 |
|
03-Feb-2010 |
Michal Krol <michal@vmware.com> |
gallium: Add cylindrical wrap info to TGSI declaration.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
dcf8543ab375dd9c128d1ca772b1e587cebbdc7c |
|
21-Jan-2010 |
Michal Krol <michal@vmware.com> |
tgsi: Handle two-dimensional constants in text parser.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
960be012a9d185c80bfcb9ff5c3781314dfb7b25 |
|
23-Dec-2009 |
Zack Rusin <zackr@vmware.com> |
tgsi: fix property parsing/building
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
3ff688ea299581e60caf5d6e1a464f68c717fe83 |
|
14-Dec-2009 |
Zack Rusin <zackr@vmware.com> |
tgsi: add properties and system value register adds support for properties to all parts of the tgsi framework, plus introduces a new register which will be used for system generated values.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
bc7567d9665924650c43c661d07ae9a922554bee |
|
07-Dec-2009 |
Brian Paul <brianp@vmware.com> |
tgsi: fix some off-by-one errors in shader length, instruction length 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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
e6133564bf2e65fc86f626a45d7977bdeaff8579 |
|
27-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Remove tgsi_version token.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
e13add8cae4637d9cd2f6c40c68de30701736abf |
|
25-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Fix token builder.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
91a4e6d53f83c45c1da9240b6325011d96b61386 |
|
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_src_register to reduce verbosity SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
5b0824dfe5eaf59fa87134e7482b3d147b262901 |
|
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_dst_register to reduce verbosity DstRegister -> Register DstRegisterInd -> Indirect
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
fe2b31e4a896167a33d267822b36eb2de0ceecba |
|
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_declaration to reduce verbosity DeclarationRange -> Range
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
7d6c8f980d1e23ad6f557d650e89c715861a3b0c |
|
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosity InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
763426a0256f0ab06f8af53947bd630f8600183a |
|
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: reduce repetition of structure name in its members Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
9fbfe6b65d7d45a70553b603f2166be3272d1e35 |
|
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
tgsi: remove unused Flags member from full_instruction
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8 |
|
24-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: simplify tgsi tokens further 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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
5ee0d9f632383339088cc33005b7794b0915d4e0 |
|
24-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Account for gallium shader token representation changes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
aa2b2e5d7d53ddd08425536edddec509a8834bfc |
|
02-Nov-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Update for gallium interface changes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
da253319f9e5d37d9c55b975ef9328545a3ac9b4 |
|
23-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove extended negate also, and also the ExtSwz token 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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
b9cb74c7f826dfd320f5e5b54aa933898f7ddd3d |
|
23-Oct-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: remove the swizzling parts of ExtSwizzle These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
fffcecc4d93253b077479d5f550a8fc5c20e54cd |
|
20-Aug-2009 |
Brian Paul <brianp@vmware.com> |
tgsi: added tgsi_full_instruction::Flags field Users of the parser can make use of this.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
fd31f92cea0ce8613a22d8f4b3c75b340bcc5689 |
|
22-Jul-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: simplify tgsi_full_immediate struct Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
cff2126f522bb511216f64427b3060467e266f8a |
|
11-Jul-2009 |
Brian Paul <brianp@vmware.com> |
tgsi: update some assertions
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
baa7ff47d548cdcc1ea68657ee1b0500f78041be |
|
10-Jul-2009 |
Brian Paul <brianp@vmware.com> |
tgis: implement indirect addressing for destination registers Includes the TGSI interpreter, but not the SSE/PPC/etc code generators.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
ea4bf267e4b023b08043f91ac44592fed1736e7f |
|
18-Feb-2009 |
José Fonseca <jfonseca@vmware.com> |
util: Move p_debug.h into util module. The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
5ecd0b0890fd48656e46c017830a9f5d6b906aae |
|
10-Feb-2009 |
Michal Krol <michal@vmware.com> |
tgsi: Fix build -- rename Size to NrTokens.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
4de360e67d83cd6503fb8ad053bb8afe507db5fa |
|
25-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added centroid/invarient fields to declarations
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
434e255eae90b0f3d836d452b7d3b0c5aadf78b8 |
|
24-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
31d2e5b954ece02070555b51c06ee427cf951b1f |
|
12-Sep-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: use new compare32() function to fix warnings about type punning and aliasing
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
4f25420bdd834e81a3e22733304efc5261c2998a |
|
25-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h Also, rename p_tile.[ch] to u_tile.[ch]
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
bfdb1d55d58d70044af9fcd6f8465179145581dd |
|
13-Aug-2008 |
Michal Krol <michal@tungstengraphics.com> |
tgsi: Fix typo.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|
c208a2c791fa24c7c5887fc496738cbddbfafc72 |
|
27-Jul-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Merge tgsi/exec and tgsi/util directories.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.c
|