summaryrefslogtreecommitdiff
path: root/src/imagination/vulkan/pvr_job_transfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/imagination/vulkan/pvr_job_transfer.c')
-rw-r--r--src/imagination/vulkan/pvr_job_transfer.c60
1 files changed, 6 insertions, 54 deletions
diff --git a/src/imagination/vulkan/pvr_job_transfer.c b/src/imagination/vulkan/pvr_job_transfer.c
index 7f435ac7935..9f38be154b2 100644
--- a/src/imagination/vulkan/pvr_job_transfer.c
+++ b/src/imagination/vulkan/pvr_job_transfer.c
@@ -1459,15 +1459,14 @@ static void pvr_uv_space(const struct pvr_device_info *dev_info,
}
static uint32_t pvr_int_pbe_pixel_num_sampler_and_image_states(
- enum pvr_transfer_pbe_pixel_src pbe_format,
- uint32_t alpha_type)
+ enum pvr_transfer_pbe_pixel_src pbe_format)
{
switch (pbe_format) {
case PVR_TRANSFER_PBE_PIXEL_SRC_Y_UV_INTERLEAVED:
case PVR_TRANSFER_PBE_PIXEL_SRC_Y_U_V:
return 1U;
default:
- return pvr_pbe_pixel_num_loads(pbe_format, alpha_type);
+ return pvr_pbe_pixel_num_loads(pbe_format);
}
}
@@ -1663,9 +1662,7 @@ pvr_sampler_image_state(struct pvr_transfer_ctx *ctx,
for (uint32_t source = 0; source < transfer_cmd->source_count; source++) {
struct pvr_tq_layer_properties *layer =
&state->shader_props.layer_props;
- uint32_t max_load =
- pvr_pbe_pixel_num_loads(layer->pbe_format,
- state->shader_props.alpha_type);
+ uint32_t max_load = pvr_pbe_pixel_num_loads(layer->pbe_format);
for (uint32_t load = 0U; load < max_load; load++) {
const struct pvr_transfer_cmd_surface *surface;
@@ -1685,11 +1682,7 @@ pvr_sampler_image_state(struct pvr_transfer_ctx *ctx,
case PVR_TRANSFER_PBE_PIXEL_SRC_F16_U8:
if (load > 0U) {
surface = &transfer_cmd->dst;
-
- if (state->shader_props.alpha_type != PVR_ALPHA_NONE)
- filter = PVR_FILTER_POINT;
- else
- filter = transfer_cmd->sources[source].filter;
+ filter = transfer_cmd->sources[source].filter;
} else {
surface = &transfer_cmd->sources[source].surface;
filter = state->filter[source];
@@ -1709,8 +1702,7 @@ pvr_sampler_image_state(struct pvr_transfer_ctx *ctx,
}
if (load < pvr_int_pbe_pixel_num_sampler_and_image_states(
- layer->pbe_format,
- state->shader_props.alpha_type)) {
+ layer->pbe_format)) {
const struct pvr_device_info *dev_info =
&transfer_cmd->cmd_buffer->device->pdevice->dev_info;
@@ -1758,17 +1750,6 @@ static inline uint32_t pvr_dynamic_const_reg_advance(
return offset + state->dynamic_const_reg_ptr++;
}
-static inline void
-pvr_dma_global_alpha(const struct pvr_transfer_alpha *alpha,
- struct pvr_transfer_3d_state *state,
- const struct pvr_tq_frag_sh_reg_layout *sh_reg_layout,
- uint32_t *mem_ptr)
-{
- float global = (float)alpha->global / 255.0f;
-
- mem_ptr[pvr_dynamic_const_reg_advance(sh_reg_layout, state)] = fui(global);
-}
-
/** Scales coefficients for sampling. (non normalized). */
static inline void
pvr_dma_texture_floats(const struct pvr_transfer_cmd *transfer_cmd,
@@ -2779,15 +2760,6 @@ static VkResult pvr_3d_copy_blit_core(struct pvr_transfer_ctx *ctx,
state->shader_props.pick_component =
pvr_pick_component_needed(&state->custom_mapping);
- state->shader_props.alpha_type = transfer_cmd->blit.alpha.type;
-
- if (state->shader_props.alpha_type != PVR_ALPHA_NONE &&
- (state->shader_props.layer_props.pbe_format !=
- PVR_TRANSFER_PBE_PIXEL_SRC_F16F16 &&
- state->shader_props.layer_props.pbe_format !=
- PVR_TRANSFER_PBE_PIXEL_SRC_F16_U8)) {
- return vk_error(device, VK_ERROR_FORMAT_NOT_SUPPORTED);
- }
if (state->filter[0] == PVR_FILTER_LINEAR &&
pvr_requires_usc_linear_filter(
@@ -2849,15 +2821,6 @@ static VkResult pvr_3d_copy_blit_core(struct pvr_transfer_ctx *ctx,
if (result != VK_SUCCESS)
return result;
- if (state->shader_props.alpha_type == PVR_ALPHA_GLOBAL ||
- state->shader_props.alpha_type ==
- PVR_ALPHA_PREMUL_SOURCE_WITH_GLOBAL) {
- pvr_dma_global_alpha(&transfer_cmd->blit.alpha,
- state,
- sh_reg_layout,
- dma_space);
- }
-
pvr_dma_texture_floats(transfer_cmd, state, sh_reg_layout, dma_space);
if (transfer_cmd->sources[0].surface.mem_layout ==
@@ -4515,8 +4478,6 @@ static VkResult pvr_3d_clip_blit(struct pvr_transfer_ctx *ctx,
~(PVR_TRANSFER_CMD_FLAGS_FAST2D | PVR_TRANSFER_CMD_FLAGS_FILL |
PVR_TRANSFER_CMD_FLAGS_DSMERGE | PVR_TRANSFER_CMD_FLAGS_PICKD);
- memset(&bg_cmd.blit, 0U, sizeof(bg_cmd.blit));
-
bg_cmd.source_count = state->custom_mapping.pass_count > 0U ? 0 : 1;
if (bg_cmd.source_count > 0) {
struct pvr_transfer_cmd_source *src = &bg_cmd.sources[0];
@@ -5474,12 +5435,8 @@ static VkResult pvr_reroute_to_clip(struct pvr_transfer_ctx *ctx,
uint32_t pass_idx,
bool *finished_out)
{
- const struct pvr_transfer_blit *blit = &transfer_cmd->blit;
struct pvr_transfer_cmd clip_transfer_cmd;
- if (blit->alpha.type != PVR_ALPHA_NONE)
- return vk_error(ctx->device, VK_ERROR_FORMAT_NOT_SUPPORTED);
-
clip_transfer_cmd = *transfer_cmd;
clip_transfer_cmd.flags |= PVR_TRANSFER_CMD_FLAGS_FAST2D;
@@ -5506,7 +5463,6 @@ static VkResult pvr_3d_copy_blit(struct pvr_transfer_ctx *ctx,
const struct pvr_device_info *const dev_info =
&ctx->device->pdevice->dev_info;
- const struct pvr_transfer_blit *blit = &transfer_cmd->blit;
struct pvr_transfer_3d_state *state = &prep_data->state;
struct pvr_transfer_cmd *active_cmd = transfer_cmd;
struct pvr_transfer_cmd int_cmd;
@@ -5528,8 +5484,7 @@ static VkResult pvr_3d_copy_blit(struct pvr_transfer_ctx *ctx,
if (src->surface.vk_format == transfer_cmd->dst.vk_format &&
state->filter[0] == PVR_FILTER_POINT &&
src->surface.sample_count <= transfer_cmd->dst.sample_count &&
- (transfer_cmd->flags & PVR_TRANSFER_CMD_FLAGS_DSMERGE) == 0U &&
- transfer_cmd->blit.alpha.type == PVR_ALPHA_NONE) {
+ (transfer_cmd->flags & PVR_TRANSFER_CMD_FLAGS_DSMERGE) == 0U) {
uint32_t bpp;
int_cmd = *transfer_cmd;
@@ -5583,9 +5538,6 @@ static VkResult pvr_3d_copy_blit(struct pvr_transfer_ctx *ctx,
if (state->custom_mapping.pass_count > 0U) {
struct pvr_transfer_pass *pass = &state->custom_mapping.passes[pass_idx];
- if (blit->alpha.type != PVR_ALPHA_NONE)
- return vk_error(ctx->device, VK_ERROR_FORMAT_NOT_SUPPORTED);
-
if (active_cmd != &int_cmd) {
int_cmd = *active_cmd;
active_cmd = &int_cmd;