gallium: add a RESQ opcode to query info about a resource

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Ilia Mirkin
2015-12-13 22:11:25 -05:00
parent ebfb5446c7
commit 90ba06618e
3 changed files with 14 additions and 1 deletions

View File

@@ -142,7 +142,7 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] =
{ 0, 0, 0, 0, 0, 1, 0, NONE, "ENDSUB", TGSI_OPCODE_ENDSUB }, { 0, 0, 0, 0, 0, 1, 0, NONE, "ENDSUB", TGSI_OPCODE_ENDSUB },
{ 1, 1, 1, 0, 0, 0, 0, OTHR, "TXQ_LZ", TGSI_OPCODE_TXQ_LZ }, { 1, 1, 1, 0, 0, 0, 0, OTHR, "TXQ_LZ", TGSI_OPCODE_TXQ_LZ },
{ 1, 1, 1, 0, 0, 0, 0, OTHR, "TXQS", TGSI_OPCODE_TXQS }, { 1, 1, 1, 0, 0, 0, 0, OTHR, "TXQS", TGSI_OPCODE_TXQS },
{ 0, 0, 0, 0, 0, 0, 0, NONE, "", 105 }, /* removed */ { 1, 1, 0, 0, 0, 0, 0, NONE, "RESQ", TGSI_OPCODE_RESQ },
{ 0, 0, 0, 0, 0, 0, 0, NONE, "", 106 }, /* removed */ { 0, 0, 0, 0, 0, 0, 0, NONE, "", 106 }, /* removed */
{ 0, 0, 0, 0, 0, 0, 0, NONE, "NOP", TGSI_OPCODE_NOP }, { 0, 0, 0, 0, 0, 0, 0, NONE, "NOP", TGSI_OPCODE_NOP },
{ 1, 2, 0, 0, 0, 0, 0, COMP, "FSEQ", TGSI_OPCODE_FSEQ }, { 1, 2, 0, 0, 0, 0, 0, COMP, "FSEQ", TGSI_OPCODE_FSEQ },

View File

@@ -2311,6 +2311,18 @@ Resource Access Opcodes
texture arrays and 2D textures. address.w is always texture arrays and 2D textures. address.w is always
ignored. ignored.
.. opcode:: RESQ - Query information about a resource
Syntax: ``RESQ dst, resource``
Example: ``RESQ TEMP[0], BUFFER[0]``
Returns information about the buffer or image resource. For buffer
resources, the size (in bytes) is returned in the x component. For
image resources, .xyz will contain the width/height/layers of the
image, while .w will contain the number of samples for multi-sampled
images.
.. _threadsyncopcodes: .. _threadsyncopcodes:

View File

@@ -411,6 +411,7 @@ struct tgsi_property_data {
#define TGSI_OPCODE_ENDSUB 102 #define TGSI_OPCODE_ENDSUB 102
#define TGSI_OPCODE_TXQ_LZ 103 /* TXQ for mipmap level 0 */ #define TGSI_OPCODE_TXQ_LZ 103 /* TXQ for mipmap level 0 */
#define TGSI_OPCODE_TXQS 104 #define TGSI_OPCODE_TXQS 104
#define TGSI_OPCODE_RESQ 105
/* gap */ /* gap */
#define TGSI_OPCODE_NOP 107 #define TGSI_OPCODE_NOP 107