franz_r

Error with some GPUs

Discussion created by franz_r on Nov 13, 2009
Latest reply on Nov 13, 2009 by CaptainN

Hi all,

we've got a problem with some GPU (e.g. ATI HD 4800) types. We use the Stream Kernel Analyzer to translate c code to GPU assembler code. To track down the error we created a small kernel, which produces the error:

"il_ps_2_0\n"
"dcl_output_generic o0\n"
"dcl_resource_id(0)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float)\n"
"dcl_input_position_interp(linear_noperspective) v0.xy__\n"
"sample_resource(0)_sampler(0) o0, v0.x0\n"
"endmain\n"

We found out that the sample_resource(0)_sampler(0) gets back wrong data for the range 1...0x7F, 0x7F80...0x807F and 0xFF7F...0xFFFF. This means we get back, e.g. 0 for 1, 0 for 0x7F, etc.

On some GPUs it works correct (e.g. HD3870).

Seems that on newer GPUs there is something wrong.

Any thoughts?

 

Regards,

Franz

Outcomes