summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi/tgsi_build.c
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2012-04-30 20:20:29 +0200
committerFrancisco Jerez <[email protected]>2012-05-11 12:39:41 +0200
commitb8e808f1ef9462af8545999df514fddbbff34345 (patch)
tree6431be43337a12c166fae50e87e6f8b7e14c9d6c /src/gallium/auxiliary/tgsi/tgsi_build.c
parent82c90b2da8e236bc134cb2bd0ec4e09551b12164 (diff)
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.
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_build.c')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_build.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.c b/src/gallium/auxiliary/tgsi/tgsi_build.c
index 2945a0d63e7..8378075b3e9 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_build.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_build.c
@@ -258,6 +258,7 @@ tgsi_default_declaration_resource(void)
dr.Resource = TGSI_BUFFER;
dr.Raw = 0;
+ dr.Writable = 0;
return dr;
}
@@ -265,6 +266,7 @@ tgsi_default_declaration_resource(void)
static struct tgsi_declaration_resource
tgsi_build_declaration_resource(unsigned texture,
unsigned raw,
+ unsigned writable,
struct tgsi_declaration *declaration,
struct tgsi_header *header)
{
@@ -273,6 +275,7 @@ tgsi_build_declaration_resource(unsigned texture,
dr = tgsi_default_declaration_resource();
dr.Resource = texture;
dr.Raw = raw;
+ dr.Writable = writable;
declaration_grow(declaration, header);
@@ -443,6 +446,7 @@ tgsi_build_full_declaration(
*dr = tgsi_build_declaration_resource(full_decl->Resource.Resource,
full_decl->Resource.Raw,
+ full_decl->Resource.Writable,
declaration,
header);
}