On Thu, Jul 03, 2014 at 11:55:25AM -0500, Aaron Watry wrote: > On Thu, Jul 3, 2014 at 10:59 AM, Alex Deucher <alexdeuc...@gmail.com> wrote: > > Someone mentioned stability issues with cedar with the golden register > > kernel patch. Can you see if skipping the golden register setup > > helps? If so can you narrow down which registers are problematic? > > I'll give it a shot and see if it helps. I can reliably break the > machine currently with luxrays' slg4 program, and the gpu doesn't > recover after 10-sec as it should. >
Can you file a bug for this and post the output of R600_DEBUG=cs for this program? If I look at it I should be able to get an idea of what might be causing the lockup. -Tom > I tried Tom's wavefront-size workaround with no apparent change. It's > possible that we're messing something up in the instruction > selection/lowering, but I'll give the kernel change a try first. > > --Aaron > > > > > Alex > > > >> and I'm getting an instruction selection error on radeonsi. Haven't > >> managed to track that down yet, but at least it means that all > >> required built-ins/defines for luxrays are now present (at least with > >> my own libclc tree), at least with image support disabled in luxrays. > >> > >> If you enable image support, I believe that it is still going to fail > >> due to mismatches/oddness with the number of supported pixel formats. > >> > >> --Aaron > >> > >>> Reviewed-by: Tom Stellard <thomas.stell...@amd.com> > >>> > >>>> Signed-off-by: Aaron Watry <awa...@gmail.com> > >>>> CC: Tom Stellard <thomas.stell...@amd.com> > >>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76223 > >>>> --- > >>>> src/gallium/drivers/radeon/radeon_llvm_util.c | 10 +++++++--- > >>>> 1 file changed, 7 insertions(+), 3 deletions(-) > >>>> > >>>> diff --git a/src/gallium/drivers/radeon/radeon_llvm_util.c > >>>> b/src/gallium/drivers/radeon/radeon_llvm_util.c > >>>> index 2ace91f..ec11559 100644 > >>>> --- a/src/gallium/drivers/radeon/radeon_llvm_util.c > >>>> +++ b/src/gallium/drivers/radeon/radeon_llvm_util.c > >>>> @@ -100,13 +100,17 @@ LLVMModuleRef > >>>> radeon_llvm_get_kernel_module(LLVMContextRef ctx, unsigned index, > >>>> kernel_metadata = MALLOC(num_kernels * sizeof(LLVMValueRef)); > >>>> LLVMGetNamedMetadataOperands(mod, "opencl.kernels", > >>>> kernel_metadata); > >>>> for (i = 0; i < num_kernels; i++) { > >>>> - LLVMValueRef kernel_signature, kernel_function; > >>>> + LLVMValueRef kernel_signature, *kernel_function; > >>>> + unsigned num_kernel_md_operands; > >>>> if (i == index) { > >>>> continue; > >>>> } > >>>> kernel_signature = kernel_metadata[i]; > >>>> - LLVMGetMDNodeOperands(kernel_signature, &kernel_function); > >>>> - LLVMDeleteFunction(kernel_function); > >>>> + num_kernel_md_operands = > >>>> LLVMGetMDNodeNumOperands(kernel_signature); > >>>> + kernel_function = MALLOC(num_kernel_md_operands * sizeof > >>>> (LLVMValueRef)); > >>>> + LLVMGetMDNodeOperands(kernel_signature, kernel_function); > >>>> + LLVMDeleteFunction(*kernel_function); > >>>> + FREE(kernel_function); > >>>> } > >>>> FREE(kernel_metadata); > >>>> radeon_llvm_optimize(mod); > >>>> -- > >>>> 1.9.1 > >>>> > >>>> _______________________________________________ > >>>> mesa-dev mailing list > >>>> mesa-dev@lists.freedesktop.org > >>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > >> _______________________________________________ > >> mesa-dev mailing list > >> mesa-dev@lists.freedesktop.org > >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev