Warp3D bug, W3D_VFORMAT_PACK_COLOR inconsistent

A forum for general AmigaOS 4.x support questions that are not platform-specific
Post Reply
User avatar
Daytona675x
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 34
Joined: Wed Jan 22, 2014 5:18 pm
Location: Cologne, Germany
Contact:

Warp3D bug, W3D_VFORMAT_PACK_COLOR inconsistent

Post by Daytona675x »

W3D_InterleavedArray with W3D_VFORMAT_PACK_COLOR gives different results depending on the underlying hardware.
At least Permedia2 and R200 behave differently, Red/Blue being swapped / interpreted as BGRA on the one and RGBA on the other.

I hope this is still the right place to report that issue. If not, please forward it the respective responsable at AEON.
Warp3D driver code-basher and bug-smasher - btw.: driver writing is nothing mysterious
User avatar
Hans
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 703
Joined: Tue Dec 21, 2010 9:25 pm
Location: New Zealand
Contact:

Re: Warp3D bug, W3D_VFORMAT_PACK_COLOR inconsistent

Post by Hans »

Daytona675x wrote:W3D_InterleavedArray with W3D_VFORMAT_PACK_COLOR gives different results depending on the underlying hardware.
At least Permedia2 and R200 behave differently, Red/Blue being swapped / interpreted as BGRA on the one and RGBA on the other.

I hope this is still the right place to report that issue. If not, please forward it the respective responsable at AEON.
Yuck! Based on the documentation, I'd say that the Permedia2 driver has it right. When giving colours in floating-point format, it's also RGBA. So, swapping that round with the packed int format would be inconsistent.

The mistake in the R200 driver probably went unnoticed for so long because most people use floating-point representation (which is generally the GPU's native format).

Anyway, I've submitted the bug to bugzilla.
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
User avatar
Karlos
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 84
Joined: Sun Jun 19, 2011 11:42 am
Location: United Kingdom of England and anybody else that wishes to remain.

Re: Warp3D bug, W3D_VFORMAT_PACK_COLOR inconsistent

Post by Karlos »

Can you please post the version numbers for each of the Warp3d components installed on your system?

A number of similar colour format bugs were fixed for the Radeon R100 and R200 drivers for the non-interleaved colour pointers previously. Its possible that the interleaved version was overlooked at that time.

The drivers generally can and do use packed formats if the hardware allows it and its a good match for the source data. The peemedia is an exception in that floating point colour formats while supported in hardware are not used as it bloats vertex data sent over the slow bus and the render pipeline isnt capable of higher internal precision anyway.
User avatar
Daytona675x
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 34
Joined: Wed Jan 22, 2014 5:18 pm
Location: Cologne, Germany
Contact:

Re: Warp3D bug, W3D_VFORMAT_PACK_COLOR inconsistent

Post by Daytona675x »

Fixed it. Also fixed some problems with the secondary color and interleaved arrays.
Programmers: take care to remove any workarounds in your code regarding this when the updated driver gets released :-)
Warp3D driver code-basher and bug-smasher - btw.: driver writing is nothing mysterious
Post Reply