From a12cf779e828ec70da714832e1eaa730119fe10c Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 30 Sep 2013 08:58:27 +0200 Subject: git update fontconfig mesa libXau pixman xkeyboard-config 30 Sep 2013 xkeyboard-config commit fe5c2416314fd1df423c8ce53cac2d28b00420e7 libXau commit 304a11be4727c5a7feeb2501e8e001466f8ce84e pixman commit b513b3dffe979056dbbbdc8e0659f8018c51c5f5 fontconfig commit 9161ed1e4a3f4afaee6dbcfc0b84a279ad99b397 mesa commit 868791f0baa0b51f4255c839448d3ca87ab1aa35 --- mesalib/src/mesa/main/mtypes.h | 88 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'mesalib/src/mesa/main/mtypes.h') diff --git a/mesalib/src/mesa/main/mtypes.h b/mesalib/src/mesa/main/mtypes.h index 448946c03..d82672dc9 100644 --- a/mesalib/src/mesa/main/mtypes.h +++ b/mesalib/src/mesa/main/mtypes.h @@ -34,6 +34,8 @@ #define MTYPES_H +#include /* uint32_t */ + #include "main/glheader.h" #include "main/config.h" #include "glapi/glapi.h" @@ -1777,6 +1779,89 @@ struct gl_transform_feedback_state }; +/** + * A "performance monitor" as described in AMD_performance_monitor. + */ +struct gl_perf_monitor_object +{ + GLboolean Active; + + /** + * A list of groups with currently active counters. + * + * ActiveGroups[g] == n if there are n counters active from group 'g'. + */ + unsigned *ActiveGroups; + + /** + * An array of bitsets, subscripted by group ID, then indexed by counter ID. + * + * Checking whether counter 'c' in group 'g' is active can be done via: + * + * BITSET_TEST(ActiveCounters[g], c) + */ + GLuint **ActiveCounters; +}; + + +union gl_perf_monitor_counter_value +{ + float f; + uint64_t u64; + uint32_t u32; +}; + + +struct gl_perf_monitor_counter +{ + /** Human readable name for the counter. */ + const char *Name; + + /** + * Data type of the counter. Valid values are FLOAT, UNSIGNED_INT, + * UNSIGNED_INT64_AMD, and PERCENTAGE_AMD. + */ + GLenum Type; + + /** Minimum counter value. */ + union gl_perf_monitor_counter_value Minimum; + + /** Maximum counter value. */ + union gl_perf_monitor_counter_value Maximum; +}; + + +struct gl_perf_monitor_group +{ + /** Human readable name for the group. */ + const char *Name; + + /** + * Maximum number of counters in this group which can be active at the + * same time. + */ + GLuint MaxActiveCounters; + + /** Array of counters within this group. */ + const struct gl_perf_monitor_counter *Counters; + GLuint NumCounters; +}; + + +/** + * Context state for AMD_performance_monitor. + */ +struct gl_perf_monitor_state +{ + /** Array of performance monitor groups (indexed by group ID) */ + const struct gl_perf_monitor_group *Groups; + GLuint NumGroups; + + /** The table of all performance monitors. */ + struct _mesa_HashTable *Monitors; +}; + + /** * Names of the various vertex/fragment program register files, etc. * @@ -3176,6 +3261,7 @@ struct gl_extensions GLboolean EXT_vertex_array_bgra; GLboolean OES_standard_derivatives; /* vendor extensions */ + GLboolean AMD_performance_monitor; GLboolean AMD_seamless_cubemap_per_texture; GLboolean AMD_vertex_shader_layer; GLboolean APPLE_object_purgeable; @@ -3639,6 +3725,8 @@ struct gl_context struct gl_transform_feedback_state TransformFeedback; + struct gl_perf_monitor_state PerfMonitor; + struct gl_buffer_object *CopyReadBuffer; /**< GL_ARB_copy_buffer */ struct gl_buffer_object *CopyWriteBuffer; /**< GL_ARB_copy_buffer */ -- cgit v1.2.3