From 9ff8ace465dd0a3513d441a85ea73d7e6c589c67 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 18 Jun 2008 01:22:34 -0400 Subject: [PATCH] Moved some booleans to true bitfields. --HG-- branch : trunk --- mojoshader.c | 20 ++++++-------------- mojoshader_opengl.c | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/mojoshader.c b/mojoshader.c index 887edfed..f3a0d3d4 100644 --- a/mojoshader.c +++ b/mojoshader.c @@ -320,14 +320,6 @@ typedef struct } SourceArgInfo; -// !!! FIXME: get rid of this. use a bitfield instead. -typedef enum -{ - // Specific to GLSL profile... - CTX_FLAGS_GLSL_LIT_OPCODE = (1 << 0), - CTX_FLAGS_MASK = 0xFFFFFFFF -} ContextFlags; - #define SCRATCH_BUFFER_SIZE 128 #define SCRATCH_BUFFERS 32 @@ -375,11 +367,7 @@ struct Context int instruction_count; uint32 instruction_controls; uint32 previous_opcode; - ContextFlags flags; - int predicated; int max_constreg; - int uniform_array; - int support_nv2; int loops; int reps; int cmps; @@ -397,6 +385,10 @@ struct Context RegisterList attributes; int sampler_count; RegisterList samplers; + int predicated:1; + int uniform_array:1; + int support_nv2:1; + int glsl_generated_lit_opcode:1; }; @@ -2648,10 +2640,10 @@ static void emit_GLSL_LIT_helper(Context *ctx) { const char *maxp = "127.9961f"; // value from the dx9 reference. - if (ctx->flags & CTX_FLAGS_GLSL_LIT_OPCODE) + if (ctx->glsl_generated_lit_opcode) return; - ctx->flags = (ContextFlags) (ctx->flags | CTX_FLAGS_GLSL_LIT_OPCODE); + ctx->glsl_generated_lit_opcode = 1; push_output(ctx, &ctx->helpers); output_line(ctx, "const vec4 LIT(const vec4 src)"); diff --git a/mojoshader_opengl.c b/mojoshader_opengl.c index 2c12fa84..a154d1b0 100644 --- a/mojoshader_opengl.c +++ b/mojoshader_opengl.c @@ -140,16 +140,16 @@ struct MOJOSHADER_glContext char profile[16]; // Extensions... - int have_base_opengl; - int have_GL_ARB_vertex_program; - int have_GL_ARB_fragment_program; - int have_GL_NV_vertex_program2_option; - int have_GL_NV_fragment_program2; - int have_GL_ARB_shader_objects; - int have_GL_ARB_vertex_shader; - int have_GL_ARB_fragment_shader; - int have_GL_ARB_shading_language_100; - int have_GL_NV_half_float; + int have_base_opengl:1; + int have_GL_ARB_vertex_program:1; + int have_GL_ARB_fragment_program:1; + int have_GL_NV_vertex_program2_option:1; + int have_GL_NV_fragment_program2:1; + int have_GL_ARB_shader_objects:1; + int have_GL_ARB_vertex_shader:1; + int have_GL_ARB_fragment_shader:1; + int have_GL_ARB_shading_language_100:1; + int have_GL_NV_half_float:1; // Entry points... PFNGLGETSTRINGPROC glGetString;