summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2013-03-01 15:32:03 +0100
committerRoland Scheidegger <[email protected]>2013-03-02 02:54:31 +0100
commit2ef13e7c557eb5b5d017e25ff7c15b2912996c6f (patch)
tree6e8e103d3b84de4f2b869f273aa8e97ac577227f /src/gallium/drivers
parent4c12276607e6a95a9a0c5997f018605e86aa5843 (diff)
llvmpipe: don't assert on illegal surface creation.
Since c8eb2d0e829d0d2aea6a982620da0d3cfb5982e2 llvmpipe checks if it's actually legal to create a surface. The opengl state tracker doesn't quite obey this so for now just warn instead of assert. Also warn instead of disabled assert when creating sampler views (same reasoning). Addresses https://bugs.freedesktop.org/show_bug.cgi?id=61647. Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_sampler.c5
-rw-r--r--src/gallium/drivers/llvmpipe/lp_texture.c3
2 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state_sampler.c b/src/gallium/drivers/llvmpipe/lp_state_sampler.c
index 3b31d4ff5d5..7441973bda2 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_sampler.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_sampler.c
@@ -218,9 +218,8 @@ llvmpipe_create_sampler_view(struct pipe_context *pipe,
* XXX we REALLY want to see the correct bind flag here but the OpenGL
* state tracker can't guarantee that at least for texture buffer objects.
*/
-#if 0
- assert(texture->bind & PIPE_BIND_SAMPLER_VIEW);
-#endif
+ if (!(texture->bind & PIPE_BIND_SAMPLER_VIEW))
+ debug_printf("Illegal sampler view creation without bind flag\n");
if (view) {
*view = *templ;
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
index e4ae3c1b65f..9de05e76926 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -577,7 +577,8 @@ llvmpipe_create_surface(struct pipe_context *pipe,
struct pipe_surface *ps;
assert(surf_tmpl->u.tex.level <= pt->last_level);
- assert(pt->bind & (PIPE_BIND_DEPTH_STENCIL | PIPE_BIND_RENDER_TARGET));
+ if (!(pt->bind & (PIPE_BIND_DEPTH_STENCIL | PIPE_BIND_RENDER_TARGET)))
+ debug_printf("Illegal surface creation without bind flag\n");
ps = CALLOC_STRUCT(pipe_surface);
if (ps) {