On 05/02/15 15:07, Roland Scheidegger wrote:
Am 05.02.2015 um 15:33 schrieb Jose Fonseca:
Nothing special needs to be done.
Even though llvmpipe copies constant (ie uniform) buffers internally, the
application is suppose to flush and sync, so all should work.
All bufferstorage piglit tests pass.
---
src/gallium/drivers/llvmpipe/lp_screen.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c
b/src/gallium/drivers/llvmpipe/lp_screen.c
index 3b31656..507cfcf 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -246,9 +246,10 @@ llvmpipe_get_param(struct pipe_screen *screen, enum
pipe_cap param)
return PIPE_ENDIAN_NATIVE;
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
return 1;
+ case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
+ return 1;
case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS:
case PIPE_CAP_TEXTURE_GATHER_SM5:
- case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_TEXTURE_QUERY_LOD:
case PIPE_CAP_SAMPLE_SHADING:
case PIPE_CAP_TEXTURE_GATHER_OFFSETS:
Looks good to me. I vaguely remember I didn't enable that because I
wasn't sure if it would really always work (things like using buffers as
render targets or as textures for instance). It's quite possible though
this isn't a problem (and the former isn't possible in GL in any case).
Roland
Thanks for the review.
Now that we don't swizzle textures/rendertargets it should be OK -- once
the fences are signalled all buffer and even texture contents should be
up to date.
My immediate interest is being able to run tests for apitrace and
coherent mappings [1] [2].
If there is some bug in some obscure corner case we can deal with it
when we come across it.
Jose
[1]
https://github.com/apitrace/apitrace-tests/blob/master/apps/gl/map_coherent.cpp
[2]
https://github.com/apitrace/apitrace/blob/master/docs/VMWX_map_buffer_debug.txt
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev