diff options
author | Christoph Bumiller <[email protected]> | 2013-02-23 00:39:23 +0100 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2013-03-12 12:55:35 +0100 |
commit | c2dfcd7f0eaf4eda375eb320e0e87793a80ef92d (patch) | |
tree | fc72ee7b904fad16fb44b7c991306bfd604166aa /src/gallium/drivers/nv50/codegen/nv50_ir_build_util.h | |
parent | d105b3df14283a4dd80cecc1e6cab58432368ef6 (diff) |
nv50/ir/tgsi: handle TGSI_OPCODE_LOAD,STORE
Squashed and (heavily) modified original patches by Francisco Jerez:
nv50/ir/tgsi: Implement resource LOAD/STORE (wip).
nv50/ir/tgsi: Emit SUST/SULD for surface access, and add CB LOAD/STORE support
nv50/ir/tgsi: Fix/clean up the LOAD/STORE handling code.
Left out for now:
nv50/ir/tgsi: Resource indirect indexing
Treating raw, read-only surfaces as constant buffers (CBs) was removed
because CBs are limited to a size of 64 KiB which isn't desireable, and
because this decision should probably be made by the state tracker.
If we used a number of CB slots for surfaces, it might find that we
cannot accomodate the advertised limit.
Diffstat (limited to 'src/gallium/drivers/nv50/codegen/nv50_ir_build_util.h')
-rw-r--r-- | src/gallium/drivers/nv50/codegen/nv50_ir_build_util.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/nv50/codegen/nv50_ir_build_util.h b/src/gallium/drivers/nv50/codegen/nv50_ir_build_util.h index 963c3505083..f48dbc21168 100644 --- a/src/gallium/drivers/nv50/codegen/nv50_ir_build_util.h +++ b/src/gallium/drivers/nv50/codegen/nv50_ir_build_util.h @@ -75,8 +75,10 @@ public: CmpInstruction *mkCmp(operation, CondCode, DataType, Value *, Value *, Value *, Value * = NULL); - Instruction *mkTex(operation, TexTarget, uint8_t tic, uint8_t tsc, - Value **def, Value **src); + TexInstruction *mkTex(operation, TexTarget, + uint16_t tic, uint16_t tsc, + const std::vector<Value *> &def, + const std::vector<Value *> &src); Instruction *mkQuadop(uint8_t qop, Value *, uint8_t l, Value *, Value *); FlowInstruction *mkFlow(operation, void *target, CondCode, Value *pred); |