summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_state.h
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-09-07 14:52:39 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-09-07 15:02:08 +0100
commite4c76c02f77ed6e86537b546f4200f8f8132d114 (patch)
tree85ef1812f25eedbfffaeb63096e3046ee1ac349a /src/gallium/drivers/llvmpipe/lp_state.h
parentde8376e2f22a59a0bc18bb7ddab88ee3153678b8 (diff)
llvmpipe: Code generate the texture sampling inside the shader.
Finally a substantial performance improvement: framerates of apps using texturing tripled, and furthermore, enabling/disabling texturing only affects around 15% of the framerate, which means the bottleneck is now somewhere else. Generated texture sampling code is not complete though -- we always sample from the base level -- so final figures will be different.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_state.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state.h b/src/gallium/drivers/llvmpipe/lp_state.h
index fb10329887..0b846ecb13 100644
--- a/src/gallium/drivers/llvmpipe/lp_state.h
+++ b/src/gallium/drivers/llvmpipe/lp_state.h
@@ -36,6 +36,7 @@
#include "pipe/p_state.h"
#include "tgsi/tgsi_scan.h"
#include "lp_jit.h"
+#include "lp_bld_sample.h" /* for struct lp_sampler_static_state */
#define LP_NEW_VIEWPORT 0x1
@@ -57,7 +58,8 @@
struct tgsi_sampler;
struct vertex_info;
-
+struct pipe_context;
+struct llvmpipe_context;
struct lp_fragment_shader;
@@ -67,6 +69,8 @@ struct lp_fragment_shader_variant_key
struct pipe_depth_state depth;
struct pipe_alpha_state alpha;
struct pipe_blend_state blend;
+
+ struct lp_sampler_static_state sampler[PIPE_MAX_SAMPLERS];
};