#include "brw_state.h"
#include "brw_clip.h"
-#include "glsl/ralloc.h"
+#include "util/ralloc.h"
#define FRONT_UNFILLED_BIT 0x1
#define BACK_UNFILLED_BIT 0x2
/* Begin the compilation:
*/
- brw_init_compile(brw, &c.func, mem_ctx);
+ brw_init_codegen(brw->intelScreen->devinfo, &c.func, mem_ctx);
c.func.single_program_flow = 1;
brw_emit_point_clip( &c );
break;
default:
- assert(0);
- return;
+ unreachable("not reached");
}
brw_compact_instructions(&c.func, 0, 0, NULL);
if (unlikely(INTEL_DEBUG & DEBUG_CLIP)) {
fprintf(stderr, "clip:\n");
- brw_disassemble(brw, c.func.store, 0, program_size, stderr);
+ brw_disassemble(brw->intelScreen->devinfo, c.func.store,
+ 0, program_size, stderr);
fprintf(stderr, "\n");
}
brw_upload_cache(&brw->cache,
- BRW_CLIP_PROG,
+ BRW_CACHE_CLIP_PROG,
&c.key, sizeof(c.key),
program, program_size,
&c.prog_data, sizeof(c.prog_data),
key.offset_factor = ctx->Polygon.OffsetFactor * ctx->DrawBuffer->_MRD;
}
- switch (ctx->Polygon.FrontFace) {
- case GL_CCW:
+ if (!ctx->Polygon._FrontBit) {
key.fill_ccw = fill_front;
key.fill_cw = fill_back;
key.offset_ccw = offset_front;
if (ctx->Light.Model.TwoSide &&
key.fill_cw != CLIP_CULL)
key.copy_bfc_cw = 1;
- break;
- case GL_CW:
+ } else {
key.fill_cw = fill_front;
key.fill_ccw = fill_back;
key.offset_cw = offset_front;
if (ctx->Light.Model.TwoSide &&
key.fill_ccw != CLIP_CULL)
key.copy_bfc_ccw = 1;
- break;
}
}
}
}
- if (!brw_search_cache(&brw->cache, BRW_CLIP_PROG,
+ if (!brw_search_cache(&brw->cache, BRW_CACHE_CLIP_PROG,
&key, sizeof(key),
&brw->clip.prog_offset, &brw->clip.prog_data)) {
compile_clip_prog( brw, &key );
const struct brw_tracked_state brw_clip_prog = {
.dirty = {
- .mesa = (_NEW_LIGHT |
- _NEW_TRANSFORM |
- _NEW_POLYGON |
- _NEW_BUFFERS),
- .brw = (BRW_NEW_REDUCED_PRIMITIVE |
- BRW_NEW_VUE_MAP_GEOM_OUT |
- BRW_NEW_INTERPOLATION_MAP)
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_POLYGON |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_INTERPOLATION_MAP |
+ BRW_NEW_REDUCED_PRIMITIVE |
+ BRW_NEW_VUE_MAP_GEOM_OUT,
},
.emit = brw_upload_clip_prog
};