X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fradeonsi%2Fevergreen_state.c;h=b094248fee181ff2d3bc0ebaf72200558fb98af8;hb=bb4c5d72d7c7cb1d9e7016e2c07c36875f30011a;hp=75d6cadc6cccab60284f20fd2751ae92d0e8f629;hpb=8dd3e341b337ca2d22bcc0e7548a78a6c36ca77d;p=mesa.git diff --git a/src/gallium/drivers/radeonsi/evergreen_state.c b/src/gallium/drivers/radeonsi/evergreen_state.c index 75d6cadc6cc..b094248fee1 100644 --- a/src/gallium/drivers/radeonsi/evergreen_state.c +++ b/src/gallium/drivers/radeonsi/evergreen_state.c @@ -1166,24 +1166,6 @@ static void si_delete_sampler_state(struct pipe_context *ctx, free(state); } -static unsigned si_map_swizzle(unsigned swizzle) -{ - switch (swizzle) { - case UTIL_FORMAT_SWIZZLE_Y: - return V_008F1C_SQ_SEL_Y; - case UTIL_FORMAT_SWIZZLE_Z: - return V_008F1C_SQ_SEL_Z; - case UTIL_FORMAT_SWIZZLE_W: - return V_008F1C_SQ_SEL_W; - case UTIL_FORMAT_SWIZZLE_0: - return V_008F1C_SQ_SEL_0; - case UTIL_FORMAT_SWIZZLE_1: - return V_008F1C_SQ_SEL_1; - default: /* UTIL_FORMAT_SWIZZLE_X */ - return V_008F1C_SQ_SEL_X; - } -} - static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_context *ctx, struct pipe_resource *texture, const struct pipe_sampler_view *state) @@ -1259,9 +1241,9 @@ static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_conte va = r600_resource_va(ctx->screen, texture); view->state[0] = (va + tmp->offset[0]) >> 8; - view->state[1] = ((va + tmp->offset[0]) >> 40) & 0xff; - view->state[1] |= (S_008F14_DATA_FORMAT(format) | - S_008F14_NUM_FORMAT(num_format)); + view->state[1] = (S_008F14_BASE_ADDRESS_HI((va + tmp->offset[0]) >> 40) | + S_008F14_DATA_FORMAT(format) | + S_008F14_NUM_FORMAT(num_format)); view->state[2] = (S_008F18_WIDTH(texture->width0 - 1) | S_008F18_HEIGHT(height - 1)); view->state[3] = (S_008F1C_DST_SEL_X(si_map_swizzle(swizzle[0])) | @@ -2087,9 +2069,9 @@ void si_pipe_shader_vs(struct pipe_context *ctx, struct si_pipe_shader *shader) r600_pipe_state_add_reg(rstate, R_02870C_SPI_SHADER_POS_FORMAT, S_02870C_POS0_EXPORT_FORMAT(V_02870C_SPI_SHADER_4COMP) | - S_02870C_POS1_EXPORT_FORMAT(V_02870C_SPI_SHADER_4COMP) | - S_02870C_POS2_EXPORT_FORMAT(V_02870C_SPI_SHADER_4COMP) | - S_02870C_POS3_EXPORT_FORMAT(V_02870C_SPI_SHADER_4COMP), + S_02870C_POS1_EXPORT_FORMAT(V_02870C_SPI_SHADER_NONE) | + S_02870C_POS2_EXPORT_FORMAT(V_02870C_SPI_SHADER_NONE) | + S_02870C_POS3_EXPORT_FORMAT(V_02870C_SPI_SHADER_NONE), NULL, 0); va = r600_resource_va(ctx->screen, (void *)shader->bo);