mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
st/mesa: replace duplicated create_color_map_texture() function with shared function
This commit is contained in:
parent
b7e8911531
commit
9adcab9cd4
4 changed files with 26 additions and 43 deletions
|
|
@ -84,26 +84,6 @@ make_state_key(struct gl_context *ctx, struct state_key *key)
|
|||
}
|
||||
|
||||
|
||||
static struct pipe_resource *
|
||||
create_color_map_texture(struct gl_context *ctx)
|
||||
{
|
||||
struct st_context *st = st_context(ctx);
|
||||
struct pipe_context *pipe = st->pipe;
|
||||
struct pipe_resource *pt;
|
||||
enum pipe_format format;
|
||||
const uint texSize = 256; /* simple, and usually perfect */
|
||||
|
||||
/* find an RGBA texture format */
|
||||
format = st_choose_format(pipe->screen, GL_RGBA,
|
||||
PIPE_TEXTURE_2D, 0, PIPE_BIND_SAMPLER_VIEW);
|
||||
|
||||
/* create texture for color map/table */
|
||||
pt = st_texture_create(st, PIPE_TEXTURE_2D, format, 0,
|
||||
texSize, texSize, 1, 1, PIPE_BIND_SAMPLER_VIEW);
|
||||
return pt;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update the pixelmap texture with the contents of the R/G/B/A pixel maps.
|
||||
*/
|
||||
|
|
@ -219,7 +199,7 @@ get_pixel_transfer_program(struct gl_context *ctx, const struct state_key *key)
|
|||
|
||||
/* create the colormap/texture now if not already done */
|
||||
if (!st->pixel_xfer.pixelmap_texture) {
|
||||
st->pixel_xfer.pixelmap_texture = create_color_map_texture(ctx);
|
||||
st->pixel_xfer.pixelmap_texture = st_create_color_map_texture(ctx);
|
||||
st->pixel_xfer.pixelmap_sampler_view =
|
||||
st_create_texture_sampler_view(st->pipe,
|
||||
st->pixel_xfer.pixelmap_texture);
|
||||
|
|
|
|||
|
|
@ -94,27 +94,6 @@ is_passthrough_program(const struct gl_fragment_program *prog)
|
|||
}
|
||||
|
||||
|
||||
/* XXX copied verbatim from st_atom_pixeltransfer.c */
|
||||
static struct pipe_resource *
|
||||
create_color_map_texture(struct gl_context *ctx)
|
||||
{
|
||||
struct st_context *st = st_context(ctx);
|
||||
struct pipe_context *pipe = st->pipe;
|
||||
struct pipe_resource *pt;
|
||||
enum pipe_format format;
|
||||
const uint texSize = 256; /* simple, and usually perfect */
|
||||
|
||||
/* find an RGBA texture format */
|
||||
format = st_choose_format(pipe->screen, GL_RGBA,
|
||||
PIPE_TEXTURE_2D, 0, PIPE_BIND_SAMPLER_VIEW);
|
||||
|
||||
/* create texture for color map/table */
|
||||
pt = st_texture_create(st, PIPE_TEXTURE_2D, format, 0,
|
||||
texSize, texSize, 1, 1, PIPE_BIND_SAMPLER_VIEW);
|
||||
return pt;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a fragment program which implements the current pixel transfer ops.
|
||||
*/
|
||||
|
|
@ -142,7 +121,7 @@ get_glsl_pixel_transfer_program(struct st_context *st,
|
|||
if (pixelMaps) {
|
||||
/* create the colormap/texture now if not already done */
|
||||
if (!st->pixel_xfer.pixelmap_texture) {
|
||||
st->pixel_xfer.pixelmap_texture = create_color_map_texture(ctx);
|
||||
st->pixel_xfer.pixelmap_texture = st_create_color_map_texture(ctx);
|
||||
st->pixel_xfer.pixelmap_sampler_view =
|
||||
st_create_texture_sampler_view(st->pipe,
|
||||
st->pixel_xfer.pixelmap_texture);
|
||||
|
|
|
|||
|
|
@ -396,3 +396,23 @@ st_texture_image_copy(struct pipe_context *pipe,
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
struct pipe_resource *
|
||||
st_create_color_map_texture(struct gl_context *ctx)
|
||||
{
|
||||
struct st_context *st = st_context(ctx);
|
||||
struct pipe_context *pipe = st->pipe;
|
||||
struct pipe_resource *pt;
|
||||
enum pipe_format format;
|
||||
const uint texSize = 256; /* simple, and usually perfect */
|
||||
|
||||
/* find an RGBA texture format */
|
||||
format = st_choose_format(pipe->screen, GL_RGBA,
|
||||
PIPE_TEXTURE_2D, 0, PIPE_BIND_SAMPLER_VIEW);
|
||||
|
||||
/* create texture for color map/table */
|
||||
pt = st_texture_create(st, PIPE_TEXTURE_2D, format, 0,
|
||||
texSize, texSize, 1, 1, PIPE_BIND_SAMPLER_VIEW);
|
||||
return pt;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -232,4 +232,8 @@ st_texture_image_copy(struct pipe_context *pipe,
|
|||
struct pipe_resource *src, GLuint srcLevel,
|
||||
GLuint face);
|
||||
|
||||
|
||||
extern struct pipe_resource *
|
||||
st_create_color_map_texture(struct gl_context *ctx);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue