From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 43871] New: shader with uniform array/record and if clauses is not translated correctly into TGSI IR Date: Thu, 15 Dec 2011 22:48:05 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from annarchy.freedesktop.org (annarchy.freedesktop.org [131.252.210.176]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A77AA0C76 for ; Thu, 15 Dec 2011 14:48:06 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org https://bugs.freedesktop.org/show_bug.cgi?id=43871 Bug #: 43871 Summary: shader with uniform array/record and if clauses is not translated correctly into TGSI IR Classification: Unclassified Product: Mesa Version: git Platform: x86-64 (AMD64) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r600 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: vljn@ovi.com Hi, the following fragment shader : __ #version 130 uniform int mode; uniform vec3 red; uniform struct { vec3 green; vec3 blue; } teststruct; uniform vec3 testarray[3]; out vec3 fragColor; void main() { if (mode == 0) fragColor = red; if (mode == 1) fragColor = teststruct.green + teststruct.blue; if (mode == 2) { fragColor = vec3(0.); for(int i = 0; i < 3; i++) fragColor += testarray[i]; } } __ is lowered to : __ FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], COLOR, LINEAR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END __ using mesa from git, swrast, and setting glsl supported version to 130 in st_extensions.c ; glsl_compiler --dump-lir seems correct, so it might be an issue with glsl-to-tgsi. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.