GPU: Fix for glDrawPixels drawing w/ glsl shader

The basic shader needs to be temporarily disabled in this case.
Add macros for temp store/restoring the state.
This commit is contained in:
2016-06-08 04:03:25 +10:00
parent cf8a0d08b0
commit f3d33a1a0f
4 changed files with 32 additions and 0 deletions

View File

@@ -76,6 +76,22 @@ void GPU_basic_shaders_exit(void);
void GPU_basic_shader_bind(int options);
int GPU_basic_shader_bound_options(void);
/* Only use for small blocks of code that don't support glsl shader. */
#define GPU_BASIC_SHADER_DISABLE_AND_STORE(bound_options) \
if (GPU_basic_shader_use_glsl_get()) { \
if ((bound_options = GPU_basic_shader_bound_options())) { \
GPU_basic_shader_bind(0); \
} \
} \
else { bound_options = 0; } ((void)0)
#define GPU_BASIC_SHADER_ENABLE_AND_RESTORE(bound_options) \
if (GPU_basic_shader_use_glsl_get()) { \
if (bound_options) { \
GPU_basic_shader_bind(bound_options); \
} \
} ((void)0)
void GPU_basic_shader_colors(const float diffuse[3], const float specular[3],
int shininess, float alpha);