*/
void
ilo_gpe_gen6_fill_3dstate_sf_raster(const struct ilo_dev_info *dev,
- const struct ilo_rasterizer_sf *sf,
+ const struct ilo_rasterizer_state *rasterizer,
int num_samples,
enum pipe_format depth_format,
uint32_t *payload, unsigned payload_len)
{
+ const struct ilo_rasterizer_sf *sf = &rasterizer->sf;
+
assert(payload_len == Elements(sf->payload));
if (sf) {
*/
void
ilo_gpe_gen6_fill_3dstate_sf_sbe(const struct ilo_dev_info *dev,
- const struct pipe_rasterizer_state *rasterizer,
+ const struct ilo_rasterizer_state *rasterizer,
const struct ilo_shader *fs,
const struct ilo_shader *last_sh,
uint32_t *dw, int num_dwords)
* TODO We do not check that yet.
*/
if (semantic == TGSI_SEMANTIC_GENERIC &&
- (rasterizer->sprite_coord_enable & (1 << index)))
+ (rasterizer->state.sprite_coord_enable & (1 << index)))
point_sprite_enable |= 1 << dst;
if (interp == TGSI_INTERPOLATE_CONSTANT ||
- (interp == TGSI_INTERPOLATE_COLOR && rasterizer->flatshade))
+ (interp == TGSI_INTERPOLATE_COLOR && rasterizer->state.flatshade))
const_interp_enable |= 1 << dst;
if (!last_sh) {
ctrl = src;
- if (semantic == TGSI_SEMANTIC_COLOR && rasterizer->light_twoside &&
+ if (semantic == TGSI_SEMANTIC_COLOR &&
+ rasterizer->state.light_twoside &&
src < vue_len - 1) {
const int next = src + 1;
dw[0] |= GEN6_SF_SWIZZLE_ENABLE;
}
- switch (rasterizer->sprite_coord_mode) {
+ switch (rasterizer->state.sprite_coord_mode) {
case PIPE_SPRITE_COORD_UPPER_LEFT:
dw[0] |= GEN6_SF_POINT_SPRITE_UPPERLEFT;
break;
ILO_GPE_VALID_GEN(dev, 6, 6);
- ilo_gpe_gen6_fill_3dstate_sf_raster(dev, &rasterizer->sf,
+ ilo_gpe_gen6_fill_3dstate_sf_raster(dev, rasterizer,
1, PIPE_FORMAT_NONE, payload_raster, Elements(payload_raster));
- ilo_gpe_gen6_fill_3dstate_sf_sbe(dev, &rasterizer->state,
+ ilo_gpe_gen6_fill_3dstate_sf_sbe(dev, rasterizer,
fs, last_sh, payload_sbe, Elements(payload_sbe));
ilo_cp_begin(cp, cmd_len);
void
ilo_gpe_gen6_fill_3dstate_sf_raster(const struct ilo_dev_info *dev,
- const struct ilo_rasterizer_sf *sf,
+ const struct ilo_rasterizer_state *rasterizer,
int num_samples,
enum pipe_format depth_format,
uint32_t *payload, unsigned payload_len);
void
ilo_gpe_gen6_fill_3dstate_sf_sbe(const struct ilo_dev_info *dev,
- const struct pipe_rasterizer_state *rasterizer,
+ const struct ilo_rasterizer_state *rasterizer,
const struct ilo_shader *fs,
const struct ilo_shader *last_sh,
uint32_t *dw, int num_dwords);
ILO_GPE_VALID_GEN(dev, 7, 7);
ilo_gpe_gen6_fill_3dstate_sf_raster(dev,
- &rasterizer->sf, num_samples,
+ rasterizer, num_samples,
(zs_surf) ? zs_surf->format : PIPE_FORMAT_NONE,
payload, Elements(payload));
static void
gen7_emit_3DSTATE_SBE(const struct ilo_dev_info *dev,
- const struct pipe_rasterizer_state *rasterizer,
+ const struct ilo_rasterizer_state *rasterizer,
const struct ilo_shader *fs,
const struct ilo_shader *last_sh,
struct ilo_cp *cp)