GPU: make using the glsl basic-shader a flag
This allows for it to be more easily tested.
This commit is contained in:
@@ -110,6 +110,9 @@ void GPU_basic_shader_stipple(GPUBasicShaderStipple stipple_id);
|
|||||||
void GPU_basic_shader_line_stipple(GLint stipple_factor, GLushort stipple_pattern);
|
void GPU_basic_shader_line_stipple(GLint stipple_factor, GLushort stipple_pattern);
|
||||||
void GPU_basic_shader_line_width(float line_width);
|
void GPU_basic_shader_line_width(float line_width);
|
||||||
|
|
||||||
|
bool GPU_basic_shader_use_glsl_get(void);
|
||||||
|
void GPU_basic_shader_use_glsl_set(bool enabled);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -51,8 +51,6 @@
|
|||||||
|
|
||||||
/* State */
|
/* State */
|
||||||
|
|
||||||
static const bool USE_GLSL = false;
|
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
GPUShader *cached_shaders[GPU_SHADER_OPTION_COMBINATIONS];
|
GPUShader *cached_shaders[GPU_SHADER_OPTION_COMBINATIONS];
|
||||||
bool failed_shaders[GPU_SHADER_OPTION_COMBINATIONS];
|
bool failed_shaders[GPU_SHADER_OPTION_COMBINATIONS];
|
||||||
@@ -269,6 +267,24 @@ const GLubyte stipple_hexagon[128] = {
|
|||||||
0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22};
|
0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22};
|
||||||
/* ********************************************* */
|
/* ********************************************* */
|
||||||
|
|
||||||
|
/* GLSL State */
|
||||||
|
|
||||||
|
static bool USE_GLSL = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \note this isn't part of the basic shader API,
|
||||||
|
* only set from the command line once on startup.
|
||||||
|
*/
|
||||||
|
void GPU_basic_shader_use_glsl_set(bool enabled)
|
||||||
|
{
|
||||||
|
USE_GLSL = enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GPU_basic_shader_use_glsl_get(void)
|
||||||
|
{
|
||||||
|
return USE_GLSL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Init / exit */
|
/* Init / exit */
|
||||||
|
|
||||||
void GPU_basic_shaders_init(void)
|
void GPU_basic_shaders_init(void)
|
||||||
|
@@ -72,6 +72,7 @@
|
|||||||
|
|
||||||
#include "WM_api.h"
|
#include "WM_api.h"
|
||||||
|
|
||||||
|
#include "GPU_basic_shader.h"
|
||||||
#include "GPU_draw.h"
|
#include "GPU_draw.h"
|
||||||
#include "GPU_extensions.h"
|
#include "GPU_extensions.h"
|
||||||
|
|
||||||
@@ -591,6 +592,7 @@ static int arg_handle_print_help(int UNUSED(argc), const char **UNUSED(argv), vo
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
printf("Experimental Features:\n");
|
printf("Experimental Features:\n");
|
||||||
BLI_argsPrintArgDoc(ba, "--enable-new-depsgraph");
|
BLI_argsPrintArgDoc(ba, "--enable-new-depsgraph");
|
||||||
|
BLI_argsPrintArgDoc(ba, "--enable-new-basic-shader-glsl");
|
||||||
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("Argument Parsing:\n");
|
printf("Argument Parsing:\n");
|
||||||
@@ -1172,6 +1174,16 @@ static int arg_handle_depsgraph_use_new(int UNUSED(argc), const char **UNUSED(ar
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char arg_handle_basic_shader_glsl_use_new_doc[] =
|
||||||
|
"\n\tUse new GLSL basic shader"
|
||||||
|
;
|
||||||
|
static int arg_handle_basic_shader_glsl_use_new(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data))
|
||||||
|
{
|
||||||
|
printf("Using new GLSL basic shader.\n");
|
||||||
|
GPU_basic_shader_use_glsl_set(true);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const char arg_handle_verbosity_set_doc[] =
|
static const char arg_handle_verbosity_set_doc[] =
|
||||||
"<verbose>\n"
|
"<verbose>\n"
|
||||||
"\tSet logging verbosity level."
|
"\tSet logging verbosity level."
|
||||||
@@ -1807,6 +1819,7 @@ void main_args_setup(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle)
|
|||||||
CB_EX(arg_handle_debug_mode_generic_set, gpumem), (void *)G_DEBUG_GPU_MEM);
|
CB_EX(arg_handle_debug_mode_generic_set, gpumem), (void *)G_DEBUG_GPU_MEM);
|
||||||
|
|
||||||
BLI_argsAdd(ba, 1, NULL, "--enable-new-depsgraph", CB(arg_handle_depsgraph_use_new), NULL);
|
BLI_argsAdd(ba, 1, NULL, "--enable-new-depsgraph", CB(arg_handle_depsgraph_use_new), NULL);
|
||||||
|
BLI_argsAdd(ba, 1, NULL, "--enable-new-basic-shader-glsl", CB(arg_handle_basic_shader_glsl_use_new), NULL);
|
||||||
|
|
||||||
BLI_argsAdd(ba, 1, NULL, "--verbose", CB(arg_handle_verbosity_set), NULL);
|
BLI_argsAdd(ba, 1, NULL, "--verbose", CB(arg_handle_verbosity_set), NULL);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user