[Mesa-dev] [PATCH 2/3] mesa: Add support for the ARB_pipeline_statistics_query extension

Ian Romanick idr at freedesktop.org
Tue Feb 17 18:14:14 PST 2015


On 02/17/2015 04:21 PM, Ben Widawsky wrote:
> On Tue, Feb 17, 2015 at 11:41:01AM -0800, Ian Romanick wrote:
>> On 02/13/2015 11:02 PM, Ben Widawsky wrote:
>>> This was originally part of a single patch which added the extension, and
>>> implemented it for i965 classic. For information about the evolution of the
>>> patch, please see the subsequent commit.
>>>
>>> One difference here as compared to the original mega patch is this does build
>>> support for the compute shader query. Since it cannot be tested on any platform,
>>> it will always return NULL for now. Jordan has already written a patch to
>>> address this, and when that patch lands, this logic can be modified. Tesselation
>>> shader support still won't build, so it's stubbed out.
>>>
>>> v2: Fix typo in subject (Brian Paul)
>>> Add checks for desktop gl (Ilia)
>>> Fail for any callers for now (Ilia)
>>> Update QueryCounterBits for new tokens (Ilia)
>>> Jordan: Use _mesa_has_compute_shaders
>>>
>>> Cc: Jordan Justen <jljusten at gmail.com>
>>> Cc: Ilia Mirkin <imirkin at alum.mit.edu>
>>> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
>>> ---
>>>  .../glapi/gen/ARB_pipeline_statistics_query.xml    | 24 ++++++
>>>  src/mapi/glapi/gen/Makefile.am                     |  1 +
>>>  src/mapi/glapi/gen/gl_API.xml                      |  3 +
>>>  src/mesa/main/config.h                             |  3 +
>>>  src/mesa/main/extensions.c                         |  1 +
>>>  src/mesa/main/mtypes.h                             | 15 ++++
>>>  src/mesa/main/queryobj.c                           | 91 ++++++++++++++++++++++
>>>  7 files changed, 138 insertions(+)
>>>  create mode 100644 src/mapi/glapi/gen/ARB_pipeline_statistics_query.xml
>>>
>>> diff --git a/src/mapi/glapi/gen/ARB_pipeline_statistics_query.xml b/src/mapi/glapi/gen/ARB_pipeline_statistics_query.xml
>>> new file mode 100644
>>> index 0000000..1c66533
>>> --- /dev/null
>>> +++ b/src/mapi/glapi/gen/ARB_pipeline_statistics_query.xml
>>> @@ -0,0 +1,24 @@
>>> +<?xml version="1.0"?>
>>> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
>>> +
>>> +<!-- Note: no GLX protocol info yet. -->
>>> +
>>> +<OpenGLAPI>
>>> +
>>> +<category name="GL_ARB_pipeline_statistics_query" number="171">
>>> +
>>> +  <enum name="VERTICES_SUBMITTED"                      value="0x82EE"/>
>>> +  <enum name="PRIMITIVES_SUBMITTED"                    value="0x82EF"/>
>>> +  <enum name="VERTEX_SHADER_INVOCATIONS"               value="0x82F0"/>
>>> +  <enum name="TESS_CONTROL_SHADER_PATCHES"             value="0x82F1"/>
>>> +  <enum name="TESS_EVALUATION_SHADER_INVOCATIONS"      value="0x82F2"/>
>>> +  <!-- <enum name="GEOMETRY_SHADER_INVOCATIONS"             value="0x887F"/> -->
>>> +  <enum name="GEOMETRY_SHADER_PRIMITIVES_EMITTED"      value="0x82F3"/>
>>> +  <enum name="FRAGMENT_SHADER_INVOCATIONS"             value="0x82F4"/>
>>> +  <enum name="COMPUTE_SHADER_INVOCATIONS"              value="0x82F5"/>
>>> +  <enum name="CLIPPING_INPUT_PRIMITIVES"               value="0x82F6"/>
>>> +  <enum name="CLIPPING_OUTPUT_PRIMITIVES"              value="0x82F7"/>
>>
>> Aren't all of these supposed to have _ARB on the end?
>>
> 
> I just copied the other ones which seemed to do a similar thing, and they did
> not have ARB. So, I think /not/ but you tell me.

The names here are supposed to match the names in glext.h and the
extension spec.  As Ilia points out, the names you have here don't exist
anywhere. :)



More information about the mesa-dev mailing list