radeonsi: Add radeon_shader_binary member to struct si_shader
authorTom Stellard <thomas.stellard@amd.com>
Fri, 23 Jan 2015 22:54:43 +0000 (22:54 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 28 Jan 2015 21:03:46 +0000 (21:03 +0000)
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/radeonsi/si_compute.c
src/gallium/drivers/radeonsi/si_shader.h

index ba63afdd4806e8be2498a2cb492bf2c3f4d8884c..840d21fd8504b8fe5d52337cd62c7f0a4ad45832 100644 (file)
@@ -54,7 +54,6 @@ struct si_compute {
        unsigned local_size;
        unsigned private_size;
        unsigned input_size;
-       struct radeon_shader_binary binary;
        struct si_shader shader;
        unsigned num_user_sgprs;
 
@@ -102,8 +101,8 @@ static void *si_create_compute_state(
        }
 #else
 
-       radeon_elf_read(code, header->num_bytes, &program->binary, true);
-       si_shader_binary_read(sctx->screen, &program->shader, &program->binary);
+       radeon_elf_read(code, header->num_bytes, &program->shader.binary, true);
+       si_shader_binary_read(sctx->screen, &program->shader, &program->shader.binary);
 
 #endif
        program->input_buffer = si_resource_create_custom(sctx->b.b.screen,
@@ -256,7 +255,7 @@ static void si_launch_grid(
 
 #if HAVE_LLVM >= 0x0306
        /* Read the config information */
-       si_shader_binary_read_config(&program->binary, shader, pc);
+       si_shader_binary_read_config(&program->shader.binary, shader, pc);
 #endif
 
        /* Upload the kernel arguments */
@@ -296,7 +295,7 @@ static void si_launch_grid(
 
                /* Patch the shader with the scratch buffer address. */
                apply_scratch_relocs(sctx->screen,
-                       &program->binary, shader, scratch_buffer_va);
+                       &program->shader.binary, shader, scratch_buffer_va);
 
        }
 
@@ -481,7 +480,7 @@ static void si_delete_compute_state(struct pipe_context *ctx, void* state){
        pipe_resource_reference(
                (struct pipe_resource **)&program->input_buffer, NULL);
 
-       radeon_shader_binary_free_members(&program->binary, true);
+       radeon_shader_binary_free_members(&program->shader.binary, true);
        FREE(program);
 }
 
index 08e344af444effae1d968d83d9d9757f04df35fb..6def5c7131380e75eaf5e9901793c445abec504b 100644 (file)
@@ -142,6 +142,7 @@ struct si_shader {
        struct si_pm4_state             *pm4;
        struct r600_resource            *bo;
        struct r600_resource            *scratch_bo;
+       struct radeon_shader_binary     binary;
        unsigned                        num_sgprs;
        unsigned                        num_vgprs;
        unsigned                        lds_size;