intel: honor 64KB limit of BINDING_TABLE_STATEs
The higher 16 bits of binding table offset in 3DSTATE_BINDING_TABLE_POINTERS_x
must be 0. BINDING_TABLE_STATEs must reside in the first 64KB of Surface
State Base Address as programmed by STATE_BASE_ADDRESS.
In this commit, we update Surface State Base Address when there is a chance to
exceed the limit.
diff --git a/icd/intel/cmd.h b/icd/intel/cmd.h
index dcb1965..16281fa 100644
--- a/icd/intel/cmd.h
+++ b/icd/intel/cmd.h
@@ -203,6 +203,8 @@
size_t used;
+ uint32_t sba_offset;
+
/* for decoding */
struct intel_cmd_item *items;
uint32_t item_alloc;