1906d2b46b21a8e7496409e0639d8463ad86dcfe |
|
27-Jun-2012 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
nv50: dynamically allocate space for shader local storage Fixes 21 piglit tests: spec/glsl-1.10/execution/variable-indexing/ fs-temp-array-mat4-index-col-row-wr vs-temp-array-mat4-index-col-row-wr vs-temp-array-mat4-index-row-wr spec/glsl-1.20/execution/variable-indexing/ fs-temp-array-mat3-index-col-row-rd fs-temp-array-mat3-index-row-rd fs-temp-array-mat4-col-row-wr fs-temp-array-mat4-index-col-row-rd fs-temp-array-mat4-index-col-row-wr fs-temp-array-mat4-index-row-rd fs-temp-array-mat4-index-row-wr vs-temp-array-mat3-index-col-row-rd vs-temp-array-mat3-index-col-row-wr vs-temp-array-mat3-index-row-rd vs-temp-array-mat3-index-row-wr vs-temp-array-mat4-col-row-wr vs-temp-array-mat4-index-col-row-rd vs-temp-array-mat4-index-col-row-wr vs-temp-array-mat4-index-col-wr vs-temp-array-mat4-index-row-rd vs-temp-array-mat4-index-row-wr vs-temp-array-mat4-index-wr ... and prevents a lot of GPU lockups
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
02fac2930581b9bea9f6d221eb6d6b471fc3b9c6 |
|
03-May-2012 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: implement stream output
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
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/nv50_program.h
|
6d1cdec3ba151168bfc3aef222fba6265dfb41fb |
|
06-Apr-2012 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nouveau: switch to libdrm_nouveau-2.0
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
533bf171d4c926e4ab6fcd0d51396b195b9e024f |
|
05-Mar-2011 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: support the InstanceID system value
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
f80c03e1875fe96ff2f4c022e3cb76357828140d |
|
28-Feb-2011 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: replace most of it with nvc0 driver ported to nv50 We'll have to do some unification now to reduce code duplication.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
275a81af13624be70566e190d4dd1f457ea1ff33 |
|
18-Sep-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: add relocs for stack and local mem buffers
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
3a62365f402b1159afd526fb4b510cdb51de1365 |
|
16-Sep-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: get shader fixups/relocations into working state
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
68cfc8e996fc33ec680c4153e862dcc762e760fc |
|
15-Sep-2010 |
Brian Paul <brianp@vmware.com> |
nv50: use unsigned int for bitfields to silence warnings
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
26fe16a99b762d27e8f499c2e02116e9c4b7a6bb |
|
15-Sep-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
Merge remote branch 'origin/nv50-compiler' Conflicts: src/gallium/drivers/nouveau/nouveau_class.h src/gallium/drivers/nv50/nv50_screen.c
|
1fa812d84aa4dcb03f3e64fd46abe5b02ac985d1 |
|
12-Sep-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: match TEMP limit with nv50 ir builder Mesa doesn't respect it anyway, but this makes it assert rather than threads access areas of l[] that don't belong to them.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
f30810cb68a53c4fef360778a230126ed0ee0ee3 |
|
09-Sep-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: use actual loads/stores if TEMPs are accessed indirectly
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
d91b8865ec2bb41f9b58ad5ce2df7f6f48f98281 |
|
07-Sep-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: prepare for having multiple functions At some point we'll want to support real subroutines instead of just inlining them into the main shader. Since recursive calls are forbidden, we can just save all used registers to a fixed local memory region and restore them on a return, no need for a stack pointer.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
217542a061ef31150b1b04f1b45b6099bcc153fe |
|
05-Sep-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: save tgsi instructions
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
e08f70a41d1012a0270468866614485a3415168e |
|
31-Aug-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: make use of TGSI immediate type
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
3a68fcfb6b406cf864afbf200e436fc384fd0865 |
|
10-Aug-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: begin implementing loops
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
633f5ac6124b1b57152c09becba92d176e905ae9 |
|
23-Jul-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: import new compiler
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
0ae3db173455a77355b4e0ee6deeb862803e3d1c |
|
16-Jan-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: handle all and more system values
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
bbb615382d60aa927913b5d1e834727854419438 |
|
16-Jan-2010 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: support for geometry programs in nv50_program
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
d29f55546dec74ca77dce3a3bf581c251be1d397 |
|
24-Dec-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: make edgeflags work It doesn't seem to be possible to set the egdeflag in the vertex shader, so we need to fallback to pushing vertices through the FIFO and use method 0x15e4 if they are used. This only works if VP does MOV OUT[X] IN[Y] where X is the edgeflag output, and Y is saved so we can tell the correct input later. The VP still writes the useless values to wasted outputs as punishment.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
1778ddaf74aba72df167769bf42150810aac91a3 |
|
14-Dec-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: store immediates as uint32 Sometimes we want non-float immediates, hacking them into floats isn't nice. Sorry, this should have already been committed before.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
7494b829052a87d7a8c56c68300a110b40e401e8 |
|
29-Nov-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: match VP outputs to FP inputs ourselves For each FP input, don't assume that the VP output will be at the same position, but scan the semantics instead, then put the correct output reg indices into VP_RESULT_MAP. Position is still assumed to be the first output/input. See 07fafc7c9346aa260829603bf3188596481e9e62, which renders previous assumptions incorrect.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
750c6cae3d6f5b24c0c51537a5717894675645c6 |
|
15-Sep-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: let programs use the whole param buffer Allocation is unnecessary since all uniforms are uploaded on every constant buffer change anyway.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
06dac41cc50303fe767041dcb4b2192763dd9c16 |
|
15-Sep-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: add support for point size per vertex
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
6516594c8eec1088ee59e7c3254b2fdced2ff04b |
|
14-Sep-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: proper linkage between VP and FP This moves construction of the mapping between VP outputs and FP inputs into validation. The map also contains slots for special outputs like clip distance and point size, so we need to at least merge the VP related and FP related parts on validation if we want to support those. Now we match every single FP input component with results from the VP and leave those not read out of the map, or replace those not written by 0 (xyz) or 1 (w). The bitmap indicating linear interpolants is also filled, and flat FP inputs are mapped in only after non-flat ones, as is required. Furthermore, we can save some space by only fetching VP attrs we actually use, and avoid wasting any output regs because of TGSI using less than 4 components.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
072fdc1fd325256d87b182d4f55c8a5838119cf0 |
|
04-Jun-2009 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: pass nouveau_bo instead of pipe_buffer to so_ calls
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
94ba165dffa4d364a1335d3cd7c15558bf35fe3e |
|
23-May-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: use multiple constant buffers Use different buffers for immds, FP params, and VP params. One has to map constant buffer indices in shader code to buffers defined via CB_DEF. In principle, we could use more buffers so we'd have to change the shader code less frequently.
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
dd9ded42b9ff75aa0bbabef30d385a9f77851dce |
|
23-May-2009 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
nv50: modified FP attribute loading VP outputs that should be loadable in the FP are mapped to interpolant indices by HPOS, COL0 etc.; of course HPOS is always written, so the highest byte of 1988 is a bitmask that selects which components of HPOS are used for interpolants, i.e. the FP inputs in COL0 start at index POPCNT(1988[24:28]).
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
fda01b584715c05696a0e6768fda669ef1eb5f3b |
|
07-Aug-2008 |
Ben Skeggs <skeggsb@localhost.localdomain> |
nouveau: fix build
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
fea0b1651677444fc6c135e1a4b8ab6463a9fdf9 |
|
15-Jun-2008 |
Ben Skeggs <skeggsb@gmail.com> |
nv50: a couple more bits'n'pieces
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
aea1669ff221f97682f0be6a60632e40c2739d09 |
|
11-Jun-2008 |
Ben Skeggs <skeggsb@gmail.com> |
nv50: use constbuf segment 0 for everything - I can't make the others work..
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
40137ea2631a0c8158f99ae30ca90ed038b72076 |
|
11-Jun-2008 |
Ben Skeggs <skeggsb@gmail.com> |
nv50: carry instructions around in nv50_program_exec, not a flat array
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|
19a1e9015e4ae429ab26e56848104fa209590338 |
|
11-Jun-2008 |
Ben Skeggs <skeggsb@gmail.com> |
nv50: rename nv50_state.h to nv50_program.h
/external/mesa3d/src/gallium/drivers/nv50/nv50_program.h
|