projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
radeonsi: expose MRT-draw-calls to HUD
[mesa.git]
/
src
/
gallium
/
drivers
/
svga
/
svga_resource.c
diff --git
a/src/gallium/drivers/svga/svga_resource.c
b/src/gallium/drivers/svga/svga_resource.c
index 264ac335405b79ae97b6e9814540c345e6da890c..874cfa072235448daab64822f16360263a4d011e 100644
(file)
--- a/
src/gallium/drivers/svga/svga_resource.c
+++ b/
src/gallium/drivers/svga/svga_resource.c
@@
-33,14
+33,27
@@
#include "svga_format.h"
#include "svga_format.h"
+/**
+ * This is the primary driver entrypoint for allocating graphics memory
+ * (vertex/index/constant buffers, textures, etc)
+ */
static struct pipe_resource *
svga_resource_create(struct pipe_screen *screen,
const struct pipe_resource *template)
{
static struct pipe_resource *
svga_resource_create(struct pipe_screen *screen,
const struct pipe_resource *template)
{
+ struct pipe_resource *r;
+
if (template->target == PIPE_BUFFER)
if (template->target == PIPE_BUFFER)
- r
eturn
svga_buffer_create(screen, template);
+ r
=
svga_buffer_create(screen, template);
else
else
- return svga_texture_create(screen, template);
+ r = svga_texture_create(screen, template);
+
+ if (!r) {
+ struct svga_screen *svgascreen = svga_screen(screen);
+ svgascreen->hud.num_failed_allocations++;
+ }
+
+ return r;
}
}
@@
-107,7
+120,8
@@
svga_init_resource_functions(struct svga_context *svga)
svga->pipe.transfer_map = u_transfer_map_vtbl;
svga->pipe.transfer_flush_region = u_transfer_flush_region_vtbl;
svga->pipe.transfer_unmap = u_transfer_unmap_vtbl;
svga->pipe.transfer_map = u_transfer_map_vtbl;
svga->pipe.transfer_flush_region = u_transfer_flush_region_vtbl;
svga->pipe.transfer_unmap = u_transfer_unmap_vtbl;
- svga->pipe.transfer_inline_write = u_transfer_inline_write_vtbl;
+ svga->pipe.buffer_subdata = u_default_buffer_subdata;
+ svga->pipe.texture_subdata = u_default_texture_subdata;
if (svga_have_vgpu10(svga)) {
svga->pipe.generate_mipmap = svga_texture_generate_mipmap;
if (svga_have_vgpu10(svga)) {
svga->pipe.generate_mipmap = svga_texture_generate_mipmap;