mesa: reorganize gl_texture and sampler structures for glPush/PopAttrib

Put the fields saved by glPush/PopAttrib into the sub-structure declared
as Attrib. This will make glPush/PopAttrib much faster because it will
only save and restore that structure.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6946>
This commit is contained in:
Marek Olšák
2020-10-05 02:45:03 -04:00
committed by Marge Bot
parent 7fa9d9d06c
commit 9a8b54285d
57 changed files with 875 additions and 853 deletions

View File

@@ -510,7 +510,7 @@ is_sampler_border_color_valid(struct gl_sampler_object *samp)
{ 1, 1, 1, 0 },
{ 1, 1, 1, 1 },
};
size_t size = sizeof(samp->BorderColor.ui);
size_t size = sizeof(samp->Attrib.BorderColor.ui);
/* The ARB_bindless_texture spec says:
*
@@ -523,16 +523,16 @@ is_sampler_border_color_valid(struct gl_sampler_object *samp)
* (0.0,0.0,0.0,0.0), (0.0,0.0,0.0,1.0), (1.0,1.0,1.0,0.0), and
* (1.0,1.0,1.0,1.0)."
*/
if (!memcmp(samp->BorderColor.f, valid_float_border_colors[0], size) ||
!memcmp(samp->BorderColor.f, valid_float_border_colors[1], size) ||
!memcmp(samp->BorderColor.f, valid_float_border_colors[2], size) ||
!memcmp(samp->BorderColor.f, valid_float_border_colors[3], size))
if (!memcmp(samp->Attrib.BorderColor.f, valid_float_border_colors[0], size) ||
!memcmp(samp->Attrib.BorderColor.f, valid_float_border_colors[1], size) ||
!memcmp(samp->Attrib.BorderColor.f, valid_float_border_colors[2], size) ||
!memcmp(samp->Attrib.BorderColor.f, valid_float_border_colors[3], size))
return GL_TRUE;
if (!memcmp(samp->BorderColor.ui, valid_integer_border_colors[0], size) ||
!memcmp(samp->BorderColor.ui, valid_integer_border_colors[1], size) ||
!memcmp(samp->BorderColor.ui, valid_integer_border_colors[2], size) ||
!memcmp(samp->BorderColor.ui, valid_integer_border_colors[3], size))
if (!memcmp(samp->Attrib.BorderColor.ui, valid_integer_border_colors[0], size) ||
!memcmp(samp->Attrib.BorderColor.ui, valid_integer_border_colors[1], size) ||
!memcmp(samp->Attrib.BorderColor.ui, valid_integer_border_colors[2], size) ||
!memcmp(samp->Attrib.BorderColor.ui, valid_integer_border_colors[3], size))
return GL_TRUE;
return GL_FALSE;