[Mesa-dev] [PATCH 7/8] mesa: Check for vertex program the same way in desktop GL and ES
Ian Romanick
idr at freedesktop.org
Fri Dec 19 14:20:58 PST 2014
From: Ian Romanick <ian.d.romanick at intel.com>
On Bay Trail-D using Fedora 20 compile flags (-m64 -O2 -mtune=generic
for 64-bit and -m32 -march=i686 -mtune=atom for 32-bit), affects
Gl32Multithread:
32-bit: Difference at 95.0% confidence 0.416027% +/- 0.163529% (n=40)
64-bit: Difference at 95.0% confidence 0.494771% +/- 0.259985% (n=40)
Gl32Batch7 had no difference proven at 95.0% confidence (n=120) on
32-bit or 64-bit.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/mesa/main/api_validate.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index 869dc4e..b882f0e 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -48,9 +48,7 @@ check_valid_to_render(struct gl_context *ctx, const char *function)
switch (ctx->API) {
case API_OPENGLES2:
/* For ES2, we can draw if we have a vertex program/shader). */
- if (!ctx->VertexProgram._Current)
- return false;
- break;
+ return ctx->VertexProgram._Current != NULL;
case API_OPENGLES:
/* For OpenGL ES, only draw if we have vertex positions
@@ -83,13 +81,8 @@ check_valid_to_render(struct gl_context *ctx, const char *function)
*/
return ctx->VertexProgram._Current != NULL;
- case API_OPENGL_COMPAT: {
- const struct gl_shader_program *const vsProg =
- ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX];
- const bool haveVertexShader = (vsProg && vsProg->LinkStatus);
- const bool haveVertexProgram = ctx->VertexProgram._Enabled;
-
- if (haveVertexShader || haveVertexProgram) {
+ case API_OPENGL_COMPAT:
+ if (ctx->VertexProgram._Current != NULL) {
/* Draw regardless of whether or not we have any vertex arrays.
* (Ex: could draw a point using a constant vertex pos)
*/
@@ -102,7 +95,6 @@ check_valid_to_render(struct gl_context *ctx, const char *function)
ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_GENERIC0].Enabled);
}
break;
- }
default:
unreachable("Invalid API value in check_valid_to_render()");
--
1.8.1.4
More information about the mesa-dev
mailing list