mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
st/nine: Move texture creation checks
We were having checks at both Create*Texture functions and in ctors. Move all Create*Texture checks to ctors. Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
parent
d973a525d3
commit
bb65b189f3
4 changed files with 13 additions and 13 deletions
|
|
@ -53,6 +53,8 @@ NineCubeTexture9_ctor( struct NineCubeTexture9 *This,
|
|||
This, pParams, EdgeLength, Levels, Usage,
|
||||
Format, Pool, pSharedHandle);
|
||||
|
||||
user_assert(EdgeLength, D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || Pool == D3DPOOL_DEFAULT, D3DERR_INVALIDCALL);
|
||||
user_assert(!(Usage & D3DUSAGE_AUTOGENMIPMAP) ||
|
||||
(Pool != D3DPOOL_SYSTEMMEM && Levels <= 1), D3DERR_INVALIDCALL);
|
||||
|
||||
|
|
|
|||
|
|
@ -925,15 +925,6 @@ NineDevice9_CreateTexture( struct NineDevice9 *This,
|
|||
D3DUSAGE_SOFTWAREPROCESSING | D3DUSAGE_TEXTAPI;
|
||||
|
||||
*ppTexture = NULL;
|
||||
user_assert(Width && Height, D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || This->ex, D3DERR_INVALIDCALL);
|
||||
/* When is used shared handle, Pool must be
|
||||
* SYSTEMMEM with Levels 1 or DEFAULT with any Levels */
|
||||
user_assert(!pSharedHandle || Pool != D3DPOOL_SYSTEMMEM || Levels == 1,
|
||||
D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || Pool == D3DPOOL_SYSTEMMEM || Pool == D3DPOOL_DEFAULT,
|
||||
D3DERR_INVALIDCALL);
|
||||
user_assert((Usage != D3DUSAGE_AUTOGENMIPMAP || Levels <= 1), D3DERR_INVALIDCALL);
|
||||
|
||||
hr = NineTexture9_new(This, Width, Height, Levels, Usage, Format, Pool,
|
||||
&tex, pSharedHandle);
|
||||
|
|
@ -967,8 +958,6 @@ NineDevice9_CreateVolumeTexture( struct NineDevice9 *This,
|
|||
D3DUSAGE_SOFTWAREPROCESSING;
|
||||
|
||||
*ppVolumeTexture = NULL;
|
||||
user_assert(Width && Height && Depth, D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || Pool == D3DPOOL_DEFAULT, D3DERR_INVALIDCALL);
|
||||
|
||||
hr = NineVolumeTexture9_new(This, Width, Height, Depth, Levels,
|
||||
Usage, Format, Pool, &tex, pSharedHandle);
|
||||
|
|
@ -1001,8 +990,6 @@ NineDevice9_CreateCubeTexture( struct NineDevice9 *This,
|
|||
D3DUSAGE_SOFTWAREPROCESSING;
|
||||
|
||||
*ppCubeTexture = NULL;
|
||||
user_assert(EdgeLength, D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || Pool == D3DPOOL_DEFAULT, D3DERR_INVALIDCALL);
|
||||
|
||||
hr = NineCubeTexture9_new(This, EdgeLength, Levels, Usage, Format, Pool,
|
||||
&tex, pSharedHandle);
|
||||
|
|
|
|||
|
|
@ -60,6 +60,15 @@ NineTexture9_ctor( struct NineTexture9 *This,
|
|||
nine_D3DUSAGE_to_str(Usage),
|
||||
d3dformat_to_string(Format), nine_D3DPOOL_to_str(Pool), pSharedHandle);
|
||||
|
||||
user_assert(Width && Height, D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || pParams->device->ex, D3DERR_INVALIDCALL);
|
||||
/* When is used shared handle, Pool must be
|
||||
* SYSTEMMEM with Levels 1 or DEFAULT with any Levels */
|
||||
user_assert(!pSharedHandle || Pool != D3DPOOL_SYSTEMMEM || Levels == 1,
|
||||
D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || Pool == D3DPOOL_SYSTEMMEM || Pool == D3DPOOL_DEFAULT,
|
||||
D3DERR_INVALIDCALL);
|
||||
user_assert((Usage != D3DUSAGE_AUTOGENMIPMAP || Levels <= 1), D3DERR_INVALIDCALL);
|
||||
user_assert(!(Usage & D3DUSAGE_AUTOGENMIPMAP) ||
|
||||
(Pool != D3DPOOL_SYSTEMMEM && Levels <= 1), D3DERR_INVALIDCALL);
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,8 @@ NineVolumeTexture9_ctor( struct NineVolumeTexture9 *This,
|
|||
This, pParams, Width, Height, Depth, Levels,
|
||||
Usage, Format, Pool, pSharedHandle);
|
||||
|
||||
user_assert(Width && Height && Depth, D3DERR_INVALIDCALL);
|
||||
user_assert(!pSharedHandle || Pool == D3DPOOL_DEFAULT, D3DERR_INVALIDCALL);
|
||||
/* An IDirect3DVolume9 cannot be bound as a render target can it ? */
|
||||
user_assert(!(Usage & (D3DUSAGE_RENDERTARGET | D3DUSAGE_DEPTHSTENCIL)),
|
||||
D3DERR_INVALIDCALL);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue