diff options
author | Matthias Hopf <mhopf@suse.de> | 2009-02-16 01:51:43 +0100 |
---|---|---|
committer | Matthias Hopf <mhopf@suse.de> | 2009-02-17 17:56:34 +0100 |
commit | 4d4e63d012c3f9a1879780b164124afb2312a4dd (patch) | |
tree | 246ef26f4f929b6f318d517ea781ffbbdb5ad881 | |
parent | 5811ed49035080a14a6f00a815265a7a43207bdf (diff) |
set_render_target() fixes crashes.test1
-rw-r--r-- | r600_tmp.c | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -282,7 +282,7 @@ void tmp_test(adapter_t *adapt) ereg (VGT_INSTANCE_STEP_RATE_0, 0); /* ? */ ereg (VGT_INSTANCE_STEP_RATE_1, 0); - // May not be set again after starting to draw + // set_render_target() necessary before or after setting those ereg (VGT_MAX_VTX_INDX, vtx_res.vtx_num_entries / vtx_res.vtx_size_dw); ereg (VGT_MIN_VTX_INDX, 0); ereg (VGT_INDX_OFFSET, 0); @@ -296,13 +296,15 @@ void tmp_test(adapter_t *adapt) draw_conf.index_type = DI_INDEX_SIZE_16_BIT; draw_auto (adapt, &draw_conf); - wait_3d_idle_clean (); - wait_3d_full_idle_clean (); -// Any of those three (changing the pixel shader) will eventually crash the machine (including drm oopses) -// ps_setup (adapt, &ps_conf); -// ereg (SQ_PGM_START_PS, ps_conf.shader_addr >> 8); -// ereg (SQ_PGM_CF_OFFSET_FS, 0); - + + set_render_target(adapt, &cb_conf); + + /* Shader */ + // set_render_target() necessary before or after setting those + vs_setup (adapt, &vs_conf); + ps_setup (adapt, &ps_conf); + + /* Vertex buffer setup 2 */ vtx_res.id = SQ_VTX_RESOURCE_vs; vtx_res.vtx_size_dw = sizeof(vertex_t) / 4; |