static unsigned
agx_pack_texture(agx_index index, unsigned *flag)
{
- /* TODO: indirection */
- assert(index.type == AGX_INDEX_IMMEDIATE);
- *flag = 0;
+ if (index.type == AGX_INDEX_REGISTER) {
+ assert(index.size == AGX_SIZE_16);
+ *flag = 1;
+ } else {
+ assert(index.type == AGX_INDEX_IMMEDIATE);
+ *flag = 0;
+ }
+
return index.value;
}
static unsigned
agx_pack_sampler(agx_index index, bool *flag)
{
- /* TODO: indirection */
- assert(index.type == AGX_INDEX_IMMEDIATE);
- *flag = 0;
+ if (index.type == AGX_INDEX_REGISTER) {
+ assert(index.size == AGX_SIZE_16);
+ *flag = 1;
+ } else {
+ assert(index.type == AGX_INDEX_IMMEDIATE);
+ *flag = 0;
+ }
+
return index.value;
}