Home | History | Annotate | Download | only in svga

Lines Matching full:svga

48 svga_texture_copy_handle(struct svga_context *svga,
61 assert(svga);
89 ret = SVGA3D_BeginSurfaceCopy(svga->swc,
94 svga_context_flush(svga, NULL);
95 ret = SVGA3D_BeginSurfaceCopy(svga->swc,
102 SVGA_FIFOCommitAll(svga->swc);
107 svga_texture_view_surface(struct svga_context *svga,
119 struct svga_screen *ss = svga_screen(svga->pipe.screen);
126 "svga: Create surface view: layer %d zslice %d mips %d..%d\n",
182 svga_texture_copy_handle(svga,
210 struct svga_context *svga = svga_context(pipe);
274 SVGA_DBG(DEBUG_VIEWS, "svga: Surface view: yes %p, level %u layer %u z %u, %p\n",
277 if (svga_have_vgpu10(svga)) {
303 s->handle = svga_texture_view_surface(svga, tex, bind, flags,
318 "svga: Surface view: no %p, level %u, layer %u, z %u, %p\n",
329 svga->hud.num_surface_views++;
343 struct svga_context *svga = svga_context(pipe);
348 SVGA_STATS_TIME_PUSH(svga_sws(svga), SVGA_STATS_TIME_CREATESURFACE);
360 if (svga_have_vgpu10(svga) || svga_screen(screen)->debug.no_surface_view)
365 SVGA_STATS_TIME_POP(svga_sws(svga));
375 create_backed_surface_view(struct svga_context *svga, struct svga_surface *s)
377 SVGA_STATS_TIME_PUSH(svga_sws(svga),
384 backed_view = svga_create_surface_view(&svga->pipe,
396 SVGA_STATS_TIME_POP(svga_sws(svga));
406 svga_validate_surface_view(struct svga_context *svga, struct svga_surface *s)
411 assert(svga_have_vgpu10(svga));
414 SVGA_STATS_TIME_PUSH(svga_sws(svga),
426 if (svga_check_sampler_view_resource_collision(svga, s->handle, shader)) {
430 s = create_backed_surface_view(svga, s);
449 ret = SVGA3D_InvalidateGBSurface(svga->swc, stex->handle);
462 s->view_id = util_bitmask_add(svga->surface_view_id_bm);
467 ret = SVGA3D_vgpu10_DefineDepthStencilView(svga->swc,
488 ret = SVGA3D_vgpu10_DefineRenderTargetView(svga->swc,
497 util_bitmask_clear(svga->surface_view_id_bm, s->view_id);
504 SVGA_STATS_TIME_POP(svga_sws(svga));
515 struct svga_context *svga = svga_context(pipe);
537 assert(svga_have_vgpu10(svga));
540 ret = SVGA3D_vgpu10_DestroyDepthStencilView(svga->swc, s->view_id);
543 ret = SVGA3D_vgpu10_DestroyRenderTargetView(svga->swc, s->view_id);
547 svga_context_flush(svga, NULL);
550 util_bitmask_clear(svga->surface_view_id_bm, s->view_id);
556 svga->hud.num_surface_views--;
588 svga_mark_surfaces_dirty(struct svga_context *svga)
592 for (i = 0; i < svga->curr.framebuffer.nr_cbufs; i++) {
593 if (svga->curr.framebuffer.cbufs[i])
594 svga_mark_surface_dirty(svga->curr.framebuffer.cbufs[i]);
596 if (svga->curr.framebuffer.zsbuf)
597 svga_mark_surface_dirty(svga->curr.framebuffer.zsbuf);
606 svga_propagate_surface(struct svga_context *svga, struct pipe_surface *surf)
642 "svga: Surface propagate: tex %p, level %u, from %p\n",
645 svga_texture_copy_handle(svga,
666 svga_propagate_rendertargets(struct svga_context *svga)
670 /* Note that we examine the svga->state.hw_draw.framebuffer surfaces,
671 * not the svga->curr.framebuffer surfaces, because it's the former
674 for (i = 0; i < svga->state.hw_draw.num_rendertargets; i++) {
675 struct pipe_surface *s = svga->state.hw_draw.rtv[i];
677 svga_propagate_surface(svga, s);
681 if (svga->state.hw_draw.dsv) {
682 svga_propagate_surface(svga, svga->state.hw_draw.dsv);
767 svga_init_surface_functions(struct svga_context *svga)
769 svga->pipe.create_surface = svga_create_surface;
770 svga->pipe.surface_destroy = svga_surface_destroy;
771 svga->pipe.get_sample_position = svga_get_sample_position;