2014-05-05 06:16:25 +00:00
|
|
|
diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
|
|
|
|
index 0c58d5f..7922f10 100644
|
|
|
|
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
|
|
|
|
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
|
|
|
|
@@ -152,7 +152,7 @@ static void si_update_descriptors(struct si_context *sctx,
|
2014-03-19 06:17:01 +00:00
|
|
|
7 + /* copy */
|
|
|
|
(4 + desc->element_dw_size) * util_bitcount(desc->dirty_mask) + /* update */
|
|
|
|
4; /* pointer update */
|
|
|
|
-#if HAVE_LLVM >= 0x0305
|
|
|
|
+#if HAVE_LLVM >= 0x0304
|
|
|
|
if (desc->shader_userdata_reg >= R_00B130_SPI_SHADER_USER_DATA_VS_0 &&
|
|
|
|
desc->shader_userdata_reg < R_00B230_SPI_SHADER_USER_DATA_GS_0)
|
|
|
|
desc->atom.num_dw += 4; /* second pointer update */
|
2014-05-05 06:16:25 +00:00
|
|
|
@@ -177,7 +177,7 @@ static void si_emit_shader_pointer(struct si_context *sctx,
|
2014-03-19 06:17:01 +00:00
|
|
|
radeon_emit(cs, va);
|
|
|
|
radeon_emit(cs, va >> 32);
|
|
|
|
|
|
|
|
-#if HAVE_LLVM >= 0x0305
|
|
|
|
+#if HAVE_LLVM >= 0x0304
|
|
|
|
if (desc->shader_userdata_reg >= R_00B130_SPI_SHADER_USER_DATA_VS_0 &&
|
|
|
|
desc->shader_userdata_reg < R_00B230_SPI_SHADER_USER_DATA_GS_0) {
|
|
|
|
radeon_emit(cs, PKT3(PKT3_SET_SH_REG, 2, 0));
|
2014-05-05 06:16:25 +00:00
|
|
|
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
|
|
|
|
index 873115b..3f23ff1 100644
|
|
|
|
--- a/src/gallium/drivers/radeonsi/si_pipe.c
|
|
|
|
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
|
|
|
|
@@ -224,7 +224,7 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
|
|
|
|
return 4;
|
2014-03-19 06:17:01 +00:00
|
|
|
|
|
|
|
case PIPE_CAP_GLSL_FEATURE_LEVEL:
|
|
|
|
- return HAVE_LLVM >= 0x0305 ? 330 : 140;
|
|
|
|
+ return HAVE_LLVM >= 0x0304 ? 330 : 140;
|
|
|
|
|
2014-05-05 06:16:25 +00:00
|
|
|
case PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE:
|
|
|
|
return MIN2(sscreen->b.info.vram_size, 0xFFFFFFFF);
|
|
|
|
@@ -308,7 +308,7 @@ static int si_get_shader_param(struct pipe_screen* pscreen, unsigned shader, enu
|
2014-03-19 06:17:01 +00:00
|
|
|
case PIPE_SHADER_VERTEX:
|
|
|
|
break;
|
|
|
|
case PIPE_SHADER_GEOMETRY:
|
|
|
|
-#if HAVE_LLVM < 0x0305
|
|
|
|
+#if HAVE_LLVM < 0x0304
|
|
|
|
return 0;
|
|
|
|
#endif
|
|
|
|
break;
|
2014-05-05 06:16:25 +00:00
|
|
|
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
|
|
|
|
index 6d5408b..1434986 100644
|
|
|
|
--- a/src/gallium/drivers/radeonsi/si_state.c
|
|
|
|
+++ b/src/gallium/drivers/radeonsi/si_state.c
|
|
|
|
@@ -2173,7 +2173,7 @@ static void *si_create_fs_state(struct pipe_context *ctx,
|
2014-03-19 06:17:01 +00:00
|
|
|
return si_create_shader_state(ctx, state, PIPE_SHADER_FRAGMENT);
|
|
|
|
}
|
|
|
|
|
|
|
|
-#if HAVE_LLVM >= 0x0305
|
|
|
|
+#if HAVE_LLVM >= 0x0304
|
|
|
|
|
|
|
|
static void *si_create_gs_state(struct pipe_context *ctx,
|
|
|
|
const struct pipe_shader_state *state)
|
2014-05-05 06:16:25 +00:00
|
|
|
@@ -2203,7 +2203,7 @@ static void si_bind_vs_shader(struct pipe_context *ctx, void *state)
|
2014-03-19 06:17:01 +00:00
|
|
|
sctx->vs_shader = sel;
|
|
|
|
}
|
|
|
|
|
|
|
|
-#if HAVE_LLVM >= 0x0305
|
|
|
|
+#if HAVE_LLVM >= 0x0304
|
|
|
|
|
|
|
|
static void si_bind_gs_shader(struct pipe_context *ctx, void *state)
|
|
|
|
{
|
2014-05-05 06:16:25 +00:00
|
|
|
@@ -2271,7 +2271,7 @@ static void si_delete_vs_shader(struct pipe_context *ctx, void *state)
|
2014-03-19 06:17:01 +00:00
|
|
|
si_delete_shader_selector(ctx, sel);
|
|
|
|
}
|
|
|
|
|
|
|
|
-#if HAVE_LLVM >= 0x0305
|
|
|
|
+#if HAVE_LLVM >= 0x0304
|
|
|
|
|
|
|
|
static void si_delete_gs_shader(struct pipe_context *ctx, void *state)
|
|
|
|
{
|
2014-05-05 06:16:25 +00:00
|
|
|
@@ -2767,7 +2767,7 @@ static void si_bind_vs_sampler_states(struct pipe_context *ctx, unsigned count,
|
2014-03-19 06:17:01 +00:00
|
|
|
si_set_sampler_states(sctx, pm4, count, states,
|
|
|
|
&sctx->samplers[PIPE_SHADER_VERTEX],
|
|
|
|
R_00B130_SPI_SHADER_USER_DATA_VS_0);
|
|
|
|
-#if HAVE_LLVM >= 0x0305
|
|
|
|
+#if HAVE_LLVM >= 0x0304
|
|
|
|
si_set_sampler_states(sctx, pm4, count, states,
|
|
|
|
&sctx->samplers[PIPE_SHADER_VERTEX],
|
|
|
|
R_00B330_SPI_SHADER_USER_DATA_ES_0);
|
2014-05-05 06:16:25 +00:00
|
|
|
@@ -2999,7 +2999,7 @@ void si_init_state_functions(struct si_context *sctx)
|
2014-03-19 06:17:01 +00:00
|
|
|
sctx->b.b.bind_fs_state = si_bind_ps_shader;
|
|
|
|
sctx->b.b.delete_vs_state = si_delete_vs_shader;
|
|
|
|
sctx->b.b.delete_fs_state = si_delete_ps_shader;
|
|
|
|
-#if HAVE_LLVM >= 0x0305
|
|
|
|
+#if HAVE_LLVM >= 0x0304
|
|
|
|
sctx->b.b.create_gs_state = si_create_gs_state;
|
|
|
|
sctx->b.b.bind_gs_state = si_bind_gs_shader;
|
|
|
|
sctx->b.b.delete_gs_state = si_delete_gs_shader;
|