aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/ir.h
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/glsl/ir.h')
-rw-r--r--mesalib/src/glsl/ir.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/mesalib/src/glsl/ir.h b/mesalib/src/glsl/ir.h
index bbfec695f..0c3e39979 100644
--- a/mesalib/src/glsl/ir.h
+++ b/mesalib/src/glsl/ir.h
@@ -120,6 +120,7 @@ public:
virtual class ir_dereference * as_dereference() { return NULL; }
virtual class ir_dereference_array * as_dereference_array() { return NULL; }
virtual class ir_dereference_variable *as_dereference_variable() { return NULL; }
+ virtual class ir_dereference_record *as_dereference_record() { return NULL; }
virtual class ir_expression * as_expression() { return NULL; }
virtual class ir_rvalue * as_rvalue() { return NULL; }
virtual class ir_loop * as_loop() { return NULL; }
@@ -1425,7 +1426,8 @@ enum ir_texture_opcode {
ir_txd, /**< Texture look-up with partial derivatvies */
ir_txf, /**< Texel fetch with explicit LOD */
ir_txf_ms, /**< Multisample texture fetch */
- ir_txs /**< Texture size */
+ ir_txs, /**< Texture size */
+ ir_lod /**< Texture lod query */
};
@@ -1449,6 +1451,7 @@ enum ir_texture_opcode {
* (txf_ms
* <type> <sampler> <coordinate> <sample_index>)
* (txs <type> <sampler> <lod>)
+ * (lod <type> <sampler> <coordinate>)
*/
class ir_texture : public ir_rvalue {
public:
@@ -1738,6 +1741,11 @@ public:
virtual ir_constant *constant_expression_value(struct hash_table *variable_context = NULL);
+ virtual ir_dereference_record *as_dereference_record()
+ {
+ return this;
+ }
+
/**
* Get the variable that is ultimately referenced by an r-value
*/