projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gallium: Add a cap for offset_units_unscaled
[mesa.git]
/
src
/
gallium
/
drivers
/
nouveau
/
nv50
/
nv50_miptree.c
diff --git
a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
index 92d49e49ff2bb1f5f81b6bf13c57419dab96542d..745011977b3d3d317f9f197b4a28f0819760b010 100644
(file)
--- a/
src/gallium/drivers/nouveau/nv50/nv50_miptree.c
+++ b/
src/gallium/drivers/nouveau/nv50/nv50_miptree.c
@@
-163,7
+163,10
@@
nv50_miptree_destroy(struct pipe_screen *pscreen, struct pipe_resource *pt)
{
struct nv50_miptree *mt = nv50_miptree(pt);
{
struct nv50_miptree *mt = nv50_miptree(pt);
- nouveau_bo_ref(NULL, &mt->base.bo);
+ if (mt->base.fence && mt->base.fence->state < NOUVEAU_FENCE_STATE_FLUSHED)
+ nouveau_fence_work(mt->base.fence, nouveau_fence_unref_bo, mt->base.bo);
+ else
+ nouveau_bo_ref(NULL, &mt->base.bo);
nouveau_fence_ref(NULL, &mt->base.fence);
nouveau_fence_ref(NULL, &mt->base.fence_wr);
nouveau_fence_ref(NULL, &mt->base.fence);
nouveau_fence_ref(NULL, &mt->base.fence_wr);
@@
-333,9
+336,10
@@
nv50_miptree_create(struct pipe_screen *pscreen,
const struct pipe_resource *templ)
{
struct nouveau_device *dev = nouveau_screen(pscreen)->device;
const struct pipe_resource *templ)
{
struct nouveau_device *dev = nouveau_screen(pscreen)->device;
+ struct nouveau_drm *drm = nouveau_screen(pscreen)->drm;
struct nv50_miptree *mt = CALLOC_STRUCT(nv50_miptree);
struct pipe_resource *pt = &mt->base.base;
struct nv50_miptree *mt = CALLOC_STRUCT(nv50_miptree);
struct pipe_resource *pt = &mt->base.base;
- bool compressed = d
ev->drm_
version >= 0x01000101;
+ bool compressed = d
rm->
version >= 0x01000101;
int ret;
union nouveau_bo_config bo_config;
uint32_t bo_flags;
int ret;
union nouveau_bo_config bo_config;
uint32_t bo_flags;