st/nine: Fix GenerateMipSubLevels potential crash
For the case of D3DPOOL_MANAGED textures, This->base.resource can be NULL at the start of the function. In This case, UploadSelf will take care of the defining. Assign resource after the UploadSelf call to prevent NULL pointer exception. Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
parent
3bcab9ba75
commit
bb1c2c2aa3
1 changed files with 3 additions and 2 deletions
|
|
@ -385,8 +385,7 @@ NineBaseTexture9_UploadSelf( struct NineBaseTexture9 *This )
|
|||
void WINAPI
|
||||
NineBaseTexture9_GenerateMipSubLevels( struct NineBaseTexture9 *This )
|
||||
{
|
||||
struct pipe_resource *resource = This->base.resource;
|
||||
|
||||
struct pipe_resource *resource;
|
||||
unsigned base_level = 0;
|
||||
unsigned last_level = This->base.info.last_level - This->managed.lod;
|
||||
unsigned first_layer = 0;
|
||||
|
|
@ -409,6 +408,8 @@ NineBaseTexture9_GenerateMipSubLevels( struct NineBaseTexture9 *This )
|
|||
|
||||
last_layer = util_max_layer(This->view[0]->texture, base_level);
|
||||
|
||||
resource = This->base.resource;
|
||||
|
||||
util_gen_mipmap(This->pipe, resource,
|
||||
resource->format, base_level, last_level,
|
||||
first_layer, last_layer, filter);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue