/* Enable prescale to adjust vertex positions to match
VGPU10 convention only if rasterization is enabled.
*/
- if (svga->curr.rast->templ.rasterizer_discard) {
+ if (svga->curr.rast && svga->curr.rast->templ.rasterizer_discard) {
degenerate = TRUE;
goto out;
} else {
* screen-space coordinates slightly relative to D3D which is
* what hardware implements natively.
*/
- if (svga->curr.rast->templ.half_pixel_center) {
+ if (svga->curr.rast && svga->curr.rast->templ.half_pixel_center) {
float adjust_x = 0.0;
float adjust_y = 0.0;
/* SVGA_NEW_RAST, SVGA_NEW_REDUCED_PRIMITIVE
*/
- if (svga->curr.rast->need_pipeline & (1 << svga->curr.reduced_prim)) {
+ if (svga->curr.rast &&
+ (svga->curr.rast->need_pipeline & (1 << svga->curr.reduced_prim))) {
SVGA_DBG(DEBUG_SWTNL, "%s: rast need_pipeline (0x%x) & prim (0x%x)\n",
__FUNCTION__,
svga->curr.rast->need_pipeline,
/* SVGA_NEW_FS, SVGA_NEW_RAST, SVGA_NEW_REDUCED_PRIMITIVE
*/
- if (svga->curr.reduced_prim == PIPE_PRIM_POINTS) {
+ if (svga->curr.rast && svga->curr.reduced_prim == PIPE_PRIM_POINTS) {
unsigned sprite_coord_gen = svga->curr.rast->templ.sprite_coord_enable;
unsigned generic_inputs =
svga->curr.fs ? svga->curr.fs->generic_inputs : 0;