gallium: Add capability for ARB_robust_buffer_access_behavior.
[mesa.git] / src / gallium / drivers / r300 / r300_fs.c
index 6e1b4e44ad3ef3e17736b1c29af2970d32b54854..6a96e6720f7e596ac4c9f4dc52f386ee7c74686e 100644 (file)
@@ -170,24 +170,9 @@ static void get_external_state(
         }
 
         state->unit[i].non_normalized_coords = !s->state.normalized_coords;
-        state->unit[i].convert_unorm_to_snorm =
-                v->base.format == PIPE_FORMAT_RGTC1_SNORM ||
-                v->base.format == PIPE_FORMAT_LATC1_SNORM;
 
         /* Pass texture swizzling to the compiler, some lowering passes need it. */
-        if (v->base.format == PIPE_FORMAT_RGTC1_SNORM ||
-            v->base.format == PIPE_FORMAT_LATC1_SNORM) {
-            unsigned char swizzle[4];
-
-            util_format_compose_swizzles(
-                            util_format_description(v->base.format)->swizzle,
-                            v->swizzle,
-                            swizzle);
-
-            state->unit[i].texture_swizzle =
-                    RC_MAKE_SWIZZLE(swizzle[0], swizzle[1],
-                                    swizzle[2], swizzle[3]);
-        } else if (state->unit[i].compare_mode_enabled) {
+        if (state->unit[i].compare_mode_enabled) {
             state->unit[i].texture_swizzle =
                 RC_MAKE_SWIZZLE(v->swizzle[0], v->swizzle[1],
                                 v->swizzle[2], v->swizzle[3]);
@@ -468,12 +453,8 @@ static void r300_translate_fragment_shader(
 
     find_output_registers(&compiler, shader);
 
-    shader->write_all = FALSE;
-    for (i = 0; i < shader->info.num_properties; i++) {
-        if (shader->info.properties[i].name == TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS) {
-            shader->write_all = TRUE;
-        }
-    }
+    shader->write_all =
+          shader->info.properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS];
 
     if (compiler.Base.Debug & RC_DBG_LOG) {
         DBG(r300, DBG_FP, "r300: Initial fragment program\n");
@@ -583,9 +564,10 @@ static void r300_translate_fragment_shader(
 boolean r300_pick_fragment_shader(struct r300_context* r300)
 {
     struct r300_fragment_shader* fs = r300_fs(r300);
-    struct r300_fragment_program_external_state state = {{{ 0 }}};
+    struct r300_fragment_program_external_state state;
     struct r300_fragment_shader_code* ptr;
 
+    memset(&state, 0, sizeof(state));
     get_external_state(r300, &state);
 
     if (!fs->first) {