History log of /external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
49150fd43c4f6dacb2b2f1df9c3b7a38f57a4b95 24-Oct-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: fix srcMask for TXP with SHADOW1D
(cherry picked from commit d310e29302fb409c0c23442c2b1d1a6c044dd6f0)
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
c51f8e2790e9f1aed51133ca0e33dac236fba4a0 18-Aug-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: handle DP2 in tgsi Instruction srcMask

Solved by Tiziano Bacocco on IRC.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
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/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
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/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
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/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
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/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
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/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
163b290f886c69a233c71799613eb74fb2668085 29-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: fix handling of early RET

We have to actually emit RET, too, of course, not just the PRERET.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
e44089b2f79aa2dcaacf348911433d1e21235c0c 14-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: add initial support for nve4+ (Kepler) chipsets

Most things that work on Fermi should work on Kepler too.

There are a few performance optimizations left to do, like better
placement of texture barriers and adding scheduling data to the
shader instructions (without them, a thread group will be masked
for 32 cycles after each single instruction issue).
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
0bbf1659df3adf51784bcb376e681c05f49b6070 14-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50: hook up to new shader code generator
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
ce04221081cd145ac3fc8c053cc5ca0a8f05b7ef 07-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: generate UCPs with actual outputs instead of SVs

gl_ClipDistance is treated the same way, this is just nicer and
easier assign slots for them on nv50.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
e43a3a66a9d8a99021d76ff4d07dec7b8cfd62ca 09-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: rewrite the register allocator as GCRA, with spilling

This is more flexible than the linear scan, and we don't need the
separate allocation pass for constrained values anymore.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
99319328d4c249090d3e4a387f6bdc00f711b688 05-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: only export x-component of PSIZE
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
a3dd45e1c27e4e55dadb9467c2ea428f58083ac1 06-Apr-2012 Francisco Jerez <currojerez@riseup.net> nv50/ir/tgsi: Infer function inputs/outputs.

Edit: Don't do it for the main function of (graphics) shaders,
its inputs and outputs always go through TGSI_FILE_INPUT/OUTPUT.
This prevents all TEMPs from counting as live out and reduces
register pressure.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
9bb36d54a2c69ebdc9d1c9c4c71945060de8c860 27-Mar-2012 Francisco Jerez <currojerez@riseup.net> nv50/ir/tgsi: Replace the inlining logic with proper function calls.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
56d40aa51b34b77791cc3a49d7e86473a7459b72 27-Mar-2012 Francisco Jerez <currojerez@riseup.net> nv50/ir: Decouple DataArray from the dictionary that maps locations to values.

The point is to keep an independent dictionary for each function.

The array that was being used as dictionary has been converted into a
"bimap" for two different reasons: first, because having an almost
empty instance of an array with as many entries as registers there are
in the program, once for every function, would be wasteful, and
second, because we want to be able to map Value pointers back to
locations at some point.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
a05e6a3fa28168d58a13cfb07f7a664e84b925ae 14-Apr-2012 Francisco Jerez <currojerez@riseup.net> nv50/ir: Decouple object cloning logic from the sub-object recursion policy.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
9362d4bc0a03860ec386156cf499e855a9c2d2a5 09-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: make Instruction::src/def container private
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
cd6d63fa60b7a5d7b81ebc51fa560bcc5b701c73 25-Dec-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: handle inferSrcType(NOT) to be u32
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
af0ce1dba8219ff8628f1fa61cf93c11a77dab94 12-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: make use of TGSI_INTERPOLATE_COLOR

Flat SHADE_MODEL still overrides any non-flat interpolation
qualifier, but pulling that state out of the rasterizer cso
isn't really worth the effort, is it ?

NOTE: This is a candidate for the 8.0 branch.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
7b6881932a71b36dd47f63200c9dbee8e2b9af4f 12-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: fix submission of VertexID and EdgeFlag in push mode

NOTE: This is a candidate for the 8.0 branch.
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
b424bf69dfd78c64e065b8ba59d9b40a8f4fecd6 11-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: handle TGSI_OPCODE_ISSG
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
9d503992d7309a49df0b0a4887b999e2d6b291c0 11-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: handle TGSI_TEXTURE_SHADOWCUBE
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
7fd802b96cd916e5cadf7eda7329105169dd29bb 08-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: handle TGSI_SEMANTIC_VERTEXID
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
ca03372657f73a30b7b2f827d6f76473e57487ee 07-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: translate SNE as unordered comparison

Fixes isnan().
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
be1ae976a41de2803f14341580c3c98c58a80fe3 07-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir/tgsi: handle TGSI_OPCODE_IABS
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
b85e93c0ca5ce881a59412b3ae617b5ac2c3aeb6 07-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir,nvc0: make ClipDistance and ClipVertex work
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
52c8c52b222e1fdb4c1f4ca3dedde9cd7b9c321f 17-Oct-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: use RDSV to fetch FrontFacing before lowering
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
d2d19ea51fa3575a8d014a69a9b835c335728817 14-Sep-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: add missing license headers
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp
57594065c30feec9376be9b2132659f7d87362ee 14-Sep-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50/ir: import new shader backend code
/external/mesa3d/src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp