mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
st/nine: Use nine_context for blit
Enables to offload it with CSMT. Signed-off-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
parent
0fd5730613
commit
c8913a06b4
3 changed files with 15 additions and 2 deletions
|
|
@ -1549,7 +1549,7 @@ NineDevice9_StretchRect( struct NineDevice9 *This,
|
|||
D3DTEXTUREFILTERTYPE Filter )
|
||||
{
|
||||
struct pipe_screen *screen = This->screen;
|
||||
struct pipe_context *pipe = NineDevice9_GetPipe(This);
|
||||
struct pipe_context *pipe;
|
||||
struct NineSurface9 *dst = NineSurface9(pDestSurface);
|
||||
struct NineSurface9 *src = NineSurface9(pSourceSurface);
|
||||
struct pipe_resource *dst_res = NineSurface9_GetResource(dst);
|
||||
|
|
@ -1722,7 +1722,7 @@ NineDevice9_StretchRect( struct NineDevice9 *This,
|
|||
PIPE_BIND_RENDER_TARGET),
|
||||
D3DERR_INVALIDCALL);
|
||||
|
||||
pipe->blit(pipe, &blit);
|
||||
nine_context_blit(This, &blit);
|
||||
} else {
|
||||
assert(blit.dst.box.x >= 0 && blit.dst.box.y >= 0 &&
|
||||
blit.src.box.x >= 0 && blit.src.box.y >= 0 &&
|
||||
|
|
@ -1732,6 +1732,7 @@ NineDevice9_StretchRect( struct NineDevice9 *This,
|
|||
blit.src.box.y + blit.src.box.height <= src->desc.Height);
|
||||
/* Or drivers might crash ... */
|
||||
DBG("Using resource_copy_region.\n");
|
||||
pipe = NineDevice9_GetPipe(This);
|
||||
pipe->resource_copy_region(pipe,
|
||||
blit.dst.resource, blit.dst.level,
|
||||
blit.dst.box.x, blit.dst.box.y, blit.dst.box.z,
|
||||
|
|
|
|||
|
|
@ -2583,6 +2583,14 @@ CSMT_ITEM_NO_WAIT(nine_context_draw_indexed_primitive_from_vtxbuf_idxbuf,
|
|||
context->pipe->draw_vbo(context->pipe, &info);
|
||||
}
|
||||
|
||||
CSMT_ITEM_NO_WAIT(nine_context_blit,
|
||||
ARG_BIND_BLIT(struct pipe_blit_info, blit))
|
||||
{
|
||||
struct nine_context *context = &device->context;
|
||||
|
||||
context->pipe->blit(context->pipe, blit);
|
||||
}
|
||||
|
||||
struct pipe_query *
|
||||
nine_context_create_query(struct NineDevice9 *device, unsigned query_type)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -517,6 +517,10 @@ nine_context_draw_indexed_primitive_from_vtxbuf_idxbuf(struct NineDevice9 *devic
|
|||
struct pipe_vertex_buffer *vbuf,
|
||||
struct pipe_index_buffer *ibuf);
|
||||
|
||||
void
|
||||
nine_context_blit(struct NineDevice9 *device,
|
||||
struct pipe_blit_info *blit);
|
||||
|
||||
struct pipe_query *
|
||||
nine_context_create_query(struct NineDevice9 *device, unsigned query_type);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue