svga: Rename SVGA_HINT_FLAG_DRAW_EMITTED
Rename SVGA_HINT_FLAG_DRAW_EMITTED to SVGA_HINT_FLAG_CAN_PRE_FLUSH because preemptive flush can be unblocked by more commands than draw. Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -473,7 +473,7 @@ SVGA3D_SurfaceDMA(struct svga_winsys_context *swc,
|
||||
pSuffix->flags = flags;
|
||||
|
||||
swc->commit(swc);
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -544,7 +544,7 @@ SVGA3D_BufferDMA(struct svga_winsys_context *swc,
|
||||
pSuffix->flags = flags;
|
||||
|
||||
swc->commit(swc);
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -1018,7 +1018,7 @@ SVGA3D_BeginDrawPrimitives(struct svga_winsys_context *swc,
|
||||
*decls = declArray;
|
||||
*ranges = rangeArray;
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -1722,7 +1722,7 @@ SVGA3D_UpdateGBImage(struct svga_winsys_context *swc,
|
||||
cmd->box = *box;
|
||||
|
||||
swc->commit(swc);
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -1749,7 +1749,7 @@ SVGA3D_UpdateGBSurface(struct svga_winsys_context *swc,
|
||||
SVGA_RELOC_WRITE | SVGA_RELOC_INTERNAL);
|
||||
|
||||
swc->commit(swc);
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -1779,7 +1779,7 @@ SVGA3D_ReadbackGBImage(struct svga_winsys_context *swc,
|
||||
cmd->image.mipmap = mipLevel;
|
||||
|
||||
swc->commit(swc);
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -1806,7 +1806,7 @@ SVGA3D_ReadbackGBSurface(struct svga_winsys_context *swc,
|
||||
SVGA_RELOC_READ | SVGA_RELOC_INTERNAL);
|
||||
|
||||
swc->commit(swc);
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -1835,7 +1835,7 @@ SVGA3D_ReadbackGBImagePartial(struct svga_winsys_context *swc,
|
||||
cmd->invertBox = invertBox;
|
||||
|
||||
swc->commit(swc);
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
|
||||
return PIPE_OK;
|
||||
}
|
||||
|
||||
@@ -535,7 +535,7 @@ SVGA3D_vgpu10_Draw(struct svga_winsys_context *swc,
|
||||
|
||||
SVGA3D_COPY_BASIC_2(vertexCount, startVertexLocation);
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
swc->commit(swc);
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -551,7 +551,7 @@ SVGA3D_vgpu10_DrawIndexed(struct svga_winsys_context *swc,
|
||||
SVGA3D_COPY_BASIC_3(indexCount, startIndexLocation,
|
||||
baseVertexLocation);
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
swc->commit(swc);
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -568,7 +568,7 @@ SVGA3D_vgpu10_DrawInstanced(struct svga_winsys_context *swc,
|
||||
SVGA3D_COPY_BASIC_4(vertexCountPerInstance, instanceCount,
|
||||
startVertexLocation, startInstanceLocation);
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
swc->commit(swc);
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -588,7 +588,7 @@ SVGA3D_vgpu10_DrawIndexedInstanced(struct svga_winsys_context *swc,
|
||||
startInstanceLocation);
|
||||
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
swc->commit(swc);
|
||||
return PIPE_OK;
|
||||
}
|
||||
@@ -598,7 +598,7 @@ SVGA3D_vgpu10_DrawAuto(struct svga_winsys_context *swc)
|
||||
{
|
||||
SVGA3D_CREATE_COMMAND(DrawAuto, DRAW_AUTO);
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
swc->commit(swc);
|
||||
return PIPE_OK;
|
||||
}
|
||||
|
||||
@@ -520,7 +520,7 @@ draw_vgpu10(struct svga_hwtnl *hwtnl,
|
||||
/* If we haven't yet emitted a drawing command or if any
|
||||
* vertex buffer state is changing, issue that state now.
|
||||
*/
|
||||
if (((hwtnl->cmd.swc->hints & SVGA_HINT_FLAG_DRAW_EMITTED) == 0) ||
|
||||
if (((hwtnl->cmd.swc->hints & SVGA_HINT_FLAG_CAN_PRE_FLUSH) == 0) ||
|
||||
vbuf_count != svga->state.hw_draw.num_vbuffers ||
|
||||
memcmp(buffers, svga->state.hw_draw.vbuffers,
|
||||
vbuf_count * sizeof(buffers[0])) ||
|
||||
|
||||
@@ -308,7 +308,7 @@ svga_buffer_upload_gb_command(struct svga_context *svga,
|
||||
pipe_resource_reference(&dummy, &sbuf->b.b);
|
||||
SVGA_FIFOCommitAll(swc);
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
sbuf->dma.flags.discard = FALSE;
|
||||
|
||||
return PIPE_OK;
|
||||
@@ -382,7 +382,7 @@ svga_buffer_upload_command(struct svga_context *svga,
|
||||
|
||||
SVGA_FIFOCommitAll(swc);
|
||||
|
||||
swc->hints |= SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints |= SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
sbuf->dma.flags.discard = FALSE;
|
||||
|
||||
return PIPE_OK;
|
||||
|
||||
@@ -85,7 +85,7 @@ struct winsys_handle;
|
||||
#define SVGA_QUERY_FLAG_SET (1 << 0)
|
||||
#define SVGA_QUERY_FLAG_REF (1 << 1)
|
||||
|
||||
#define SVGA_HINT_FLAG_DRAW_EMITTED (1 << 0)
|
||||
#define SVGA_HINT_FLAG_CAN_PRE_FLUSH (1 << 0) /* Can preemptively flush */
|
||||
|
||||
/** Opaque surface handle */
|
||||
struct svga_winsys_surface;
|
||||
|
||||
@@ -251,7 +251,7 @@ vmw_swc_flush(struct svga_winsys_context *swc,
|
||||
vswc->must_flush = FALSE;
|
||||
debug_flush_flush(vswc->fctx);
|
||||
#endif
|
||||
swc->hints &= ~SVGA_HINT_FLAG_DRAW_EMITTED;
|
||||
swc->hints &= ~SVGA_HINT_FLAG_CAN_PRE_FLUSH;
|
||||
vswc->preemptive_flush = FALSE;
|
||||
vswc->seen_surfaces = 0;
|
||||
vswc->seen_regions = 0;
|
||||
@@ -373,7 +373,7 @@ vmw_swc_region_relocation(struct svga_winsys_context *swc,
|
||||
|
||||
if (vmw_swc_add_validate_buffer(vswc, reloc->buffer, flags)) {
|
||||
vswc->seen_regions += reloc->buffer->size;
|
||||
if ((swc->hints & SVGA_HINT_FLAG_DRAW_EMITTED) &&
|
||||
if ((swc->hints & SVGA_HINT_FLAG_CAN_PRE_FLUSH) &&
|
||||
vswc->seen_regions >= VMW_GMR_POOL_SIZE/5)
|
||||
vswc->preemptive_flush = TRUE;
|
||||
}
|
||||
@@ -416,7 +416,7 @@ vmw_swc_mob_relocation(struct svga_winsys_context *swc,
|
||||
if (vmw_swc_add_validate_buffer(vswc, pb_buffer, flags)) {
|
||||
vswc->seen_mobs += pb_buffer->size;
|
||||
|
||||
if ((swc->hints & SVGA_HINT_FLAG_DRAW_EMITTED) &&
|
||||
if ((swc->hints & SVGA_HINT_FLAG_CAN_PRE_FLUSH) &&
|
||||
vswc->seen_mobs >=
|
||||
vswc->vws->ioctl.max_mob_memory / VMW_MAX_MOB_MEM_FACTOR)
|
||||
vswc->preemptive_flush = TRUE;
|
||||
@@ -479,7 +479,7 @@ vmw_swc_surface_only_relocation(struct svga_winsys_context *swc,
|
||||
++vswc->surface.staged;
|
||||
|
||||
vswc->seen_surfaces += vsurf->size;
|
||||
if ((swc->hints & SVGA_HINT_FLAG_DRAW_EMITTED) &&
|
||||
if ((swc->hints & SVGA_HINT_FLAG_CAN_PRE_FLUSH) &&
|
||||
vswc->seen_surfaces >=
|
||||
vswc->vws->ioctl.max_surface_memory / VMW_MAX_SURF_MEM_FACTOR)
|
||||
vswc->preemptive_flush = TRUE;
|
||||
|
||||
Reference in New Issue
Block a user