st/nine: Add format checks to create_zs_or_rt_surface
Returns INVALIDCALL when trying to create a surface of unsupported format. In practice, apps are supposed to check for format support before trying to create a render target of that format. However some bad behaving apps could just try to create the surface and deduce if it failed that it wasn't supported. Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
parent
3a2e0c7784
commit
dbcb4f46ad
|
@ -1126,6 +1126,9 @@ create_zs_or_rt_surface(struct NineDevice9 *This,
|
|||
templ.nr_samples, templ.bind,
|
||||
FALSE);
|
||||
|
||||
if (templ.format == PIPE_FORMAT_NONE && Format != D3DFMT_NULL)
|
||||
return D3DERR_INVALIDCALL;
|
||||
|
||||
desc.Format = Format;
|
||||
desc.Type = D3DRTYPE_SURFACE;
|
||||
desc.Usage = 0;
|
||||
|
|
Loading…
Reference in New Issue