ebd4883a0c53a3584f6da78042dbc38da779291b |
|
17-Oct-2012 |
Eric Anholt <eric@anholt.net> |
i965: Actually add support for GL_ANY_SAMPLES_PASSED from GL_ARB_oq2. v2: Fix mangled sentence in the comment, and make the loop exit early. Fixes assertion failures in Piglit's spec/ARB_occlusion_query2/render test as well as the game PlaneShift. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (v1) (cherry picked from commit e755c1a36b27d6e45f0ae81729908342b8775c74)
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
7540f25a345ed8d35d97ba4fbf66227a281eff6a |
|
23-Aug-2012 |
Eric Anholt <eric@anholt.net> |
i965: Rewrite the comment describing the query object support. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
f0159018d7709b57d9916575512d75cb3f2fb395 |
|
18-Jul-2012 |
Eric Anholt <eric@anholt.net> |
i965/gen6+: Add support for GL_ARB_timer_query. Needs updated libdrm. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
0e723b135bfd59868c92c3ae243f1adaedaec3a5 |
|
12-Jul-2012 |
Eric Anholt <eric@anholt.net> |
intel: Add performance debug for some common GPU stalls. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
5deb1d1a1f9e3354597569032af9bdf27d629cca |
|
08-Aug-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
i965: Rework the extra flushes surrounding occlusion queries. This removes the CS stall on Ivybridge. On Sandybridge, the depth stall needs to be preceded by a non-zero post-sync op, which requires a CS stall, which needs a stall at scoreboard. Emit the full workaround. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
e45a9ce474c3562f16c8a773260752d77a4fed5c |
|
07-Aug-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
i965: Use 64-bit writes for occlusion queries. The hardware seems to use the length of the PIPE_CONTROL command to indicate whether the write is 64-bits or 32-bits. Which makes sense for immediate writes. Daniel discovered this by writing a pattern into the query object bo and noticing that the high 32-bits were left intact, even on those pipe control writes that seemingly worked. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
20c09b82d0520843f1c168adaf9bd5d17a572085 |
|
07-Aug-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
i965: Refactor depth count write PIPE_CONTROLs into a helper function. This consolidates the complexity in one place, which is important because it's about to get even more complicated. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
a2cdd5ada8ae315acbc4225398b7cbf78181f610 |
|
07-Aug-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
i965: Emit a CS stall before timestamp writes. This implements one of the Sandybridge PIPE_CONTROL workarounds. It doesn't appear to be required for Ivybridge. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
c4c78c275abffe8d1014b1355f02239859d6aa2b |
|
07-Aug-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
i965: Use 64-bit writes for timestamp queries. The hardware seems to use the length of the PIPE_CONTROL command to indicate whether the write is 64-bits or 32-bits. Which makes sense for immediate writes. Daniel discovered this by writing a pattern into the query object bo and noticing that the high 32-bits were left intact, even on those pipe control writes that seemingly worked. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
03f14664b6b12bc7853866fe613d8af350e51e08 |
|
07-Aug-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
i965: Refactor timestamp write PIPE_CONTROLs into a helper function. This consolidates the complexity in one place, which is important because it's about to get even more complicated. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
61d0b9f52c6be4a4a64c30ea3a2a93ef8260c67b |
|
26-Jul-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
intel: Make the length for PIPE_CONTROL explicit. PIPE_CONTROL has variable length, depending upon generation and whether we want to do 32-bit or 64-bit data writes. Make it explicit, rather than hiding a length of 4 in the #define for _3DSTATE_PIPE_CONTROL. Generated by s/3DSTATE_PIPE_CONTROL/3DSTATE_PIPE_CONTROL | (4 - 2)/g. This is equivalent since the #define used to have | 2 in it. A grep through the sources shows that all instances have been converted, so it's safe to remove the | 2 from the #define. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
8aa78c104a6fa9497cba558b54c41f6f2292bd74 |
|
28-Jun-2012 |
Jordan Justen <jordan.l.justen@intel.com> |
i965: fix transform feedback with primitive restart When querying GL_PRIMITIVES_GENERATED, if primitive restart is also used, then take the software primitive restart path so GL_PRIMITIVES_GENERATED is returned correctly. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN is also updated since it will also affected by the same issue. As noted in brw_primitive_restart.c, with further work we should be able to move this situation back to a hardware handled path. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
c59393b7069f59ca2a13bfb6500f2a5360c38031 |
|
15-Dec-2011 |
Paul Berry <stereotype441@gmail.com> |
i965 gen6: Implement transform feedback queries. This patch adds software-based PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries that work by keeping track of the number of primitives that are sent down the pipeline, and adjusting as necessary to account for the way each primitive type is tessellated. In the long run we'll want to replace this with a hardware-based implementation, because the software approach won't work with geometry shaders or primitive restart. However, at the moment, we don't have the necessary kernel support to implement a hardware-based query (we would need the kernel to save GPU registers when context switching, so that drawing performed by another process doesn't get counted). Fixes Piglit tests EXT_transform_feedback/query-primitives_generated-* and EXT_transform_feedback/query-primitives-written-*. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
c5e17a84983d7799fd842a62daaece3d97a670be |
|
19-Dec-2011 |
Paul Berry <stereotype441@gmail.com> |
i965: Convert if/else to switch statements in brw_queryobj.c Previously, i965 only supported two query types: GL_TIME_ELAPSED_EXT and GL_SAMPLES_PASSED_ARB, and it distinguished between the two using if/else statements that compared query->Base.Target to GL_TIME_ELAPSED_EXT. This patch changes the if/else statements to switch statements so that we can add more query types without having to have a chain of else-ifs. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
eaf4d3e6e2493a6e0b20d1205a5fb33ce500c9c2 |
|
22-Oct-2011 |
Eric Anholt <eric@anholt.net> |
i965: Remove the validated BO list, now that it's unused. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
2e5a1a254ed81b1d3efa6064f48183eefac784d0 |
|
07-Oct-2011 |
Kenneth Graunke <kenneth@whitecape.org> |
intel: Convert from GLboolean to 'bool' from stdbool.h. I initially produced the patch using this bash command: for file in {intel,i915,i965}/*.{c,cpp,h}; do [ ! -h $file ] && sed -i 's/GLboolean/bool/g' $file && sed -i 's/GL_TRUE/true/g' $file && sed -i 's/GL_FALSE/false/g' $file; done Then I manually added #include <stdbool.h> to fix compilation errors, and converted a few functions back to GLboolean that were used in core Mesa's function pointer table to avoid "incompatible pointer" warnings. Finally, I cleaned up some whitespace issues introduced by the change. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Chad Versace <chad@chad-versace.us> Acked-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
7457da5edd4a33c2581f10608ce5bcf0e254c5f9 |
|
20-Jul-2011 |
Zou Nan hai <nanhai.zou@intel.com> |
i965: Fix timer query on gen6+ PIPE_CONTROL reported time stamp are 64 bits value incrementing every 80 ns, and only the low 32 bits are active (high 32 are always 0). v2: Cleaned up whitespace, function arguments (anholt). Fixes piglit EXT_timer_query/time-elapsed Signed-off-by: Zou Nan hai <nanhai.zou@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
8d68a90e225d831a395ba788e425cb717eec1f9a |
|
10-Feb-2011 |
Chris Wilson <chris@chris-wilson.co.uk> |
intel: use pwrite for batch It's faster. Not only is the memcpy more efficiently performed in the kernel (making up for the system call overhead), but by not using mmap we remove the greater overhead of tracking the vma of every batch. And it means we can read back from the batch buffer without incurring the cost of a uncached read through the GTT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
689aca782216d2666486dea02206cbc9c4162e0d |
|
28-Dec-2010 |
Zhenyu Wang <zhenyuw@linux.intel.com> |
i965: Fix occlusion query on sandybridge Clear target query buffer fixed occlusion query on sandybridge. https://bugs.freedesktop.org/show_bug.cgi?id=32167
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
f9995b30756140724f41daf963fa06167912be7f |
|
12-Oct-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
3074b61f64601be4620f1fb3c48c7c6024d3fd57 |
|
27-Sep-2010 |
Zhenyu Wang <zhenyuw@linux.intel.com> |
i965: fix occlusion query on sandybridge Fix pipe control command for depth stall and PS_DEPTH_COUNT write.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
34474fa4119378ef9fbb9fb557cc19c0a1ca1f7e |
|
07-Jun-2010 |
Eric Anholt <eric@anholt.net> |
intel: Change dri_bo_* to drm_intel_bo* to consistently use new API. The slightly less mechanical change of converting the emit_reloc calls will follow.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
3b68b6c83e491d7f85baff6a31dcceee28622ae0 |
|
26-May-2010 |
Eric Anholt <eric@anholt.net> |
i965: Add support for EXT_timer_query on Ironlake. We could potentially do this on G45 as well, though the units are different. On 965, the timestamp is tied to hclk, which would make supporting it harder.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
df3590f570cb88eb9695b443208d7576b5867fd1 |
|
17-May-2010 |
Eric Anholt <eric@anholt.net> |
i965: Remove the half-baked code for multiple OQs at the same time. GL doesn't actually let you begin an OQ while one is active, so the extra work was pointless.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
32f2fd1c5d6088692551c80352b7d6fa35b0cd09 |
|
19-Feb-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versions
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
5203b7227ccb6b618fa42f08434d4a3cf123dca2 |
|
02-Jan-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
intel: Drop batchbuffer cliprect_mode tracking
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
3c1172f06636ff4aec24a6c68df937844da73a53 |
|
29-Aug-2009 |
Eric Anholt <eric@anholt.net> |
i965: Fix segfault with ARB_oq CheckQuery when results are already fetched.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
446a226f9fb958678dcee892847f1e6ad35151e9 |
|
28-Aug-2009 |
Eric Anholt <eric@anholt.net> |
i965: Implement ARB_oq CheckQuery in the intended way. Previously we blocked because I hadn't added the libdrm function. Now it's there, so update your libdrm.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
59b2c2adbbece27ccf54e58b598ea29cb3a5aa85 |
|
24-Oct-2008 |
Eric Anholt <eric@anholt.net> |
i965: Fix check_aperture calls to cover everything needed for the prim at once. Previously, since my check_aperture API change, we would check each piece of state against the batchbuffer individually, but not all the state against the batchbuffer at once. In addition to not being terribly useful in assuring success, it probably also increased CPU load by calling check_aperture many times per primitive.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|
c157cfc6376f7469ab272b18868183e5ff9ac754 |
|
07-Oct-2008 |
Eric Anholt <eric@anholt.net> |
i965: Add ARB_occlusion_query support.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_queryobj.c
|