mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
st/mesa: merge st_ChooseTextureFormat_renderable() into st_ChooseTextureFormat()
That was the only place it was being called from.
This commit is contained in:
parent
f54a9f4ff2
commit
5f81549f6c
2 changed files with 21 additions and 38 deletions
|
|
@ -1586,22 +1586,37 @@ st_choose_renderbuffer_format(struct pipe_screen *screen,
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called via ctx->Driver.ChooseTextureFormat().
|
||||
*/
|
||||
gl_format
|
||||
st_ChooseTextureFormat_renderable(struct gl_context *ctx, GLint internalFormat,
|
||||
GLenum format, GLenum type, GLboolean renderable)
|
||||
st_ChooseTextureFormat(struct gl_context *ctx, GLenum target,
|
||||
GLint internalFormat,
|
||||
GLenum format, GLenum type)
|
||||
{
|
||||
const boolean want_renderable =
|
||||
internalFormat == 3 || internalFormat == 4 ||
|
||||
internalFormat == GL_RGB || internalFormat == GL_RGBA ||
|
||||
internalFormat == GL_RGB8 || internalFormat == GL_RGBA8 ||
|
||||
internalFormat == GL_BGRA;
|
||||
struct pipe_screen *screen = st_context(ctx)->pipe->screen;
|
||||
enum pipe_format pFormat;
|
||||
uint bindings;
|
||||
unsigned bindings;
|
||||
|
||||
(void) format;
|
||||
(void) type;
|
||||
if (target == GL_TEXTURE_1D || target == GL_TEXTURE_1D_ARRAY) {
|
||||
/* We don't do compression for these texture targets because of
|
||||
* difficulty with sub-texture updates on non-block boundaries, etc.
|
||||
* So change the internal format request to an uncompressed format.
|
||||
*/
|
||||
internalFormat =
|
||||
_mesa_generic_compressed_format_to_uncompressed_format(internalFormat);
|
||||
}
|
||||
|
||||
/* GL textures may wind up being render targets, but we don't know
|
||||
* that in advance. Specify potential render target flags now.
|
||||
*/
|
||||
bindings = PIPE_BIND_SAMPLER_VIEW;
|
||||
if (renderable) {
|
||||
if (want_renderable) {
|
||||
if (_mesa_is_depth_or_stencil_format(internalFormat))
|
||||
bindings |= PIPE_BIND_DEPTH_STENCIL;
|
||||
else
|
||||
|
|
@ -1627,34 +1642,6 @@ st_ChooseTextureFormat_renderable(struct gl_context *ctx, GLint internalFormat,
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called via ctx->Driver.ChooseTextureFormat().
|
||||
*/
|
||||
gl_format
|
||||
st_ChooseTextureFormat(struct gl_context *ctx, GLenum target,
|
||||
GLint internalFormat,
|
||||
GLenum format, GLenum type)
|
||||
{
|
||||
boolean want_renderable =
|
||||
internalFormat == 3 || internalFormat == 4 ||
|
||||
internalFormat == GL_RGB || internalFormat == GL_RGBA ||
|
||||
internalFormat == GL_RGB8 || internalFormat == GL_RGBA8 ||
|
||||
internalFormat == GL_BGRA;
|
||||
|
||||
if (target == GL_TEXTURE_1D || target == GL_TEXTURE_1D_ARRAY) {
|
||||
/* We don't do compression for these texture targets because of
|
||||
* difficulty with sub-texture updates on non-block boundaries, etc.
|
||||
* So change the internal format request to an uncompressed format.
|
||||
*/
|
||||
internalFormat =
|
||||
_mesa_generic_compressed_format_to_uncompressed_format(internalFormat);
|
||||
}
|
||||
|
||||
return st_ChooseTextureFormat_renderable(ctx, internalFormat,
|
||||
format, type, want_renderable);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called via ctx->Driver.ChooseTextureFormat().
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -58,10 +58,6 @@ st_choose_renderbuffer_format(struct pipe_screen *screen,
|
|||
GLenum internalFormat, unsigned sample_count);
|
||||
|
||||
|
||||
gl_format
|
||||
st_ChooseTextureFormat_renderable(struct gl_context *ctx, GLint internalFormat,
|
||||
GLenum format, GLenum type, GLboolean renderable);
|
||||
|
||||
extern gl_format
|
||||
st_ChooseTextureFormat(struct gl_context * ctx, GLenum target,
|
||||
GLint internalFormat,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue