diff options
Diffstat (limited to 'r600_atom.c')
-rw-r--r-- | r600_atom.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/r600_atom.c b/r600_atom.c index 1254935..4e90568 100644 --- a/r600_atom.c +++ b/r600_atom.c @@ -15,7 +15,7 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "radeon_device.h" -#include "r600_atom.h" +#include "r600_winsys.h" #include "r600d.h" /* @@ -654,16 +654,9 @@ int r600_vs_shader_emit(struct radeon_device *rdev, u32 *opcodes = batch->shaders->ptr, ndwords; int r; - r = r600_shader_build_fs(rdev, &opcodes[batch->shaders_idx], &ndwords, - &batch->inputs.drm, vs_shader); - if (r) - return r; + memcpy(&opcodes[batch->shaders_idx], vs_shader->opcodes, vs_shader->ndwords * 4); atom->pkts[2] = batch->shaders_idx >> 6; atom->pkts[4] = radeon_ib_reloc(ib, batch->shaders, RADEON_GEM_DOMAIN_GTT); - batch->shaders_idx += (ndwords + 63) & 0xFFFFFFC0; - memcpy(&opcodes[batch->shaders_idx], vs_shader->opcodes, vs_shader->ndwords * 4); - atom->pkts[13] = batch->shaders_idx >> 6; - atom->pkts[15] = radeon_ib_reloc(ib, batch->shaders, RADEON_GEM_DOMAIN_GTT); batch->shaders_idx += (vs_shader->ndwords + 63) & 0xFFFFFFC0; r = radeon_ib_copy(ib, atom->pkts, atom->npkts); return r; @@ -680,20 +673,6 @@ int r600_vs_shader_create(struct radeon_device *rdev, struct radeon_atom *atom, return -ENOMEM; memcpy(vs_shader, data, sizeof(struct drm_r600_vs_shader)); atom->state = vs_shader; - /* SQ_PGM_START_FS */ - atom->pkts[atom->npkts++] = PKT3(PKT3_SET_CONTEXT_REG, 1); - atom->pkts[atom->npkts++] = 0x00000225; - atom->pkts[atom->npkts++] = 0x00000000; - atom->pkts[atom->npkts++] = PKT3(PKT3_NOP, 0); - atom->pkts[atom->npkts++] = 0x00000000; - /* SQ_PGM_RESOURCES_FS */ - atom->pkts[atom->npkts++] = PKT3(PKT3_SET_CONTEXT_REG, 1); - atom->pkts[atom->npkts++] = 0x00000229; - atom->pkts[atom->npkts++] = 0x00000000; - /* SQ_PGM_CF_OFFSET_FS */ - atom->pkts[atom->npkts++] = PKT3(PKT3_SET_CONTEXT_REG, 1); - atom->pkts[atom->npkts++] = 0x00000237; - atom->pkts[atom->npkts++] = 0x00000000; /* SQ_PGM_START_VS */ atom->pkts[atom->npkts++] = PKT3(PKT3_SET_CONTEXT_REG, 1); atom->pkts[atom->npkts++] = 0x00000216; |