v2: rebase Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>tags/11.2-branchpoint
@@ -12668,6 +12668,12 @@ | |||
<enum name="FRAMEBUFFER_SRGB_CAPABLE_EXT" value="0x8DBA"/> | |||
</category> | |||
<category name="GL_ATI_meminfo" number="359"> | |||
<enum name="VBO_FREE_MEMORY_ATI" value="0x87FB" /> | |||
<enum name="TEXTURE_FREE_MEMORY_ATI" value="0x87FC" /> | |||
<enum name="RENDERBUFFER_FREE_MEMORY_ATI" value="0x87FD" /> | |||
</category> | |||
<xi:include href="AMD_performance_monitor.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> | |||
<category name="GL_APPLE_texture_range" number="367"> |
@@ -166,6 +166,7 @@ EXT(ARB_window_pos , dummy_true | |||
EXT(ATI_blend_equation_separate , EXT_blend_equation_separate , GLL, GLC, x , x , 2003) | |||
EXT(ATI_draw_buffers , dummy_true , GLL, x , x , x , 2002) | |||
EXT(ATI_fragment_shader , ATI_fragment_shader , GLL, x , x , x , 2001) | |||
EXT(ATI_meminfo , ATI_meminfo , GLL, GLC, x , x , 2009) | |||
EXT(ATI_separate_stencil , ATI_separate_stencil , GLL, x , x , x , 2006) | |||
EXT(ATI_texture_compression_3dc , ATI_texture_compression_3dc , GLL, x , x , x , 2004) | |||
EXT(ATI_texture_env_combine3 , ATI_texture_env_combine3 , GLL, x , x , x , 2002) |
@@ -450,6 +450,7 @@ EXTRA_EXT(ARB_tessellation_shader); | |||
EXTRA_EXT(ARB_shader_subroutine); | |||
EXTRA_EXT(ARB_shader_storage_buffer_object); | |||
EXTRA_EXT(ARB_indirect_parameters); | |||
EXTRA_EXT(ATI_meminfo); | |||
EXTRA_EXT(NVX_gpu_memory_info); | |||
static const int | |||
@@ -1092,7 +1093,10 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu | |||
break; | |||
case GL_SAMPLE_BUFFERS: | |||
v->value_int = _mesa_geometric_samples(ctx->DrawBuffer) > 0; | |||
/* GL_NVX_gpu_memory_info */ | |||
/* GL_ATI_meminfo & GL_NVX_gpu_memory_info */ | |||
case GL_VBO_FREE_MEMORY_ATI: | |||
case GL_TEXTURE_FREE_MEMORY_ATI: | |||
case GL_RENDERBUFFER_FREE_MEMORY_ATI: | |||
case GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX: | |||
case GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX: | |||
case GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX: | |||
@@ -1114,6 +1118,26 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu | |||
v->value_int = info.nr_device_memory_evictions; | |||
else if (d->pname == GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX) | |||
v->value_int = info.device_memory_evicted; | |||
else { | |||
/* ATI free memory enums. | |||
* | |||
* Since the GPU memory is (usually) page-table based, every two | |||
* consecutive elements are equal. From the GL_ATI_meminfo | |||
* specification: | |||
* | |||
* "param[0] - total memory free in the pool | |||
* param[1] - largest available free block in the pool | |||
* param[2] - total auxiliary memory free | |||
* param[3] - largest auxiliary free block" | |||
* | |||
* All three (VBO, TEXTURE, RENDERBUFFER) queries return | |||
* the same numbers here. | |||
*/ | |||
v->value_int_4[0] = info.avail_device_memory; | |||
v->value_int_4[1] = info.avail_device_memory; | |||
v->value_int_4[2] = info.avail_staging_memory; | |||
v->value_int_4[3] = info.avail_staging_memory; | |||
} | |||
} | |||
break; | |||
} |
@@ -851,6 +851,11 @@ descriptor=[ | |||
# GL_ARB_query_buffer_object | |||
[ "QUERY_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_query_buffer_object" ], | |||
# GL_ATI_meminfo | |||
[ "VBO_FREE_MEMORY_ATI", "LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo" ], | |||
[ "TEXTURE_FREE_MEMORY_ATI", "LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo" ], | |||
[ "RENDERBUFFER_FREE_MEMORY_ATI", "LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo" ], | |||
# GL_NVX_gpu_memory_info | |||
[ "GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info" ], | |||
[ "GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info" ], |
@@ -3891,6 +3891,7 @@ struct gl_extensions | |||
GLboolean AMD_vertex_shader_layer; | |||
GLboolean AMD_vertex_shader_viewport_index; | |||
GLboolean APPLE_object_purgeable; | |||
GLboolean ATI_meminfo; | |||
GLboolean ATI_texture_compression_3dc; | |||
GLboolean ATI_texture_mirror_once; | |||
GLboolean ATI_texture_env_combine3; |