summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir.cpp
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2012-09-23 19:50:41 +1000
committerMatt Turner <mattst88@gmail.com>2013-03-29 10:20:26 -0700
commit110ca8b1f31e573210437e359723a4b0c16a5a0c (patch)
tree72dd7fc05f3318d82253d4d62e3c7e0aff3fc7e9 /src/glsl/ir.cpp
parent0e0ab8a071c86b4de1c257c350bfa0e4b7e478c2 (diff)
downloadexternal_mesa3d-110ca8b1f31e573210437e359723a4b0c16a5a0c.zip
external_mesa3d-110ca8b1f31e573210437e359723a4b0c16a5a0c.tar.gz
external_mesa3d-110ca8b1f31e573210437e359723a4b0c16a5a0c.tar.bz2
glsl: Implement ARB_texture_query_lod
v2 [mattst88]: - Rebase. - #define GL_ARB_texture_query_lod to 1. - Remove comma after ir_lod in ir.h for MSVC. - Handled ir_lod in ir_hv_accept.cpp, ir_rvalue_visitor.cpp, opt_tree_grafting.cpp. - Rename textureQueryLOD to textureQueryLod, see https://www.khronos.org/bugzilla/show_bug.cgi?id=821 - Fix ir_reader of (lod ...). v3 [mattst88]: - Rename textureQueryLod to textureQueryLOD, pending resolution of Khronos 821. - Add ir_lod case to ir_to_mesa.cpp. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/glsl/ir.cpp')
-rw-r--r--src/glsl/ir.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp
index 60ef8b9..05b77da 100644
--- a/src/glsl/ir.cpp
+++ b/src/glsl/ir.cpp
@@ -1307,7 +1307,7 @@ ir_dereference::is_lvalue() const
}
-static const char *tex_opcode_strs[] = { "tex", "txb", "txl", "txd", "txf", "txf_ms", "txs" };
+static const char *tex_opcode_strs[] = { "tex", "txb", "txl", "txd", "txf", "txf_ms", "txs", "lod" };
const char *ir_texture::opcode_string()
{
@@ -1338,6 +1338,9 @@ ir_texture::set_sampler(ir_dereference *sampler, const glsl_type *type)
if (this->op == ir_txs) {
assert(type->base_type == GLSL_TYPE_INT);
+ } else if (this->op == ir_lod) {
+ assert(type->vector_elements == 2);
+ assert(type->base_type == GLSL_TYPE_FLOAT);
} else {
assert(sampler->type->sampler_type == (int) type->base_type);
if (sampler->type->sampler_shadow)