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 bug, W3D_VFORMAT_PACK_COLOR inconsistent
- Daytona675x
- AmigaOS Core Developer
- Posts: 34
- Joined: Wed Jan 22, 2014 5:18 pm
- Location: Cologne, Germany
- Contact:
Warp3D bug, W3D_VFORMAT_PACK_COLOR inconsistent
Warp3D driver code-basher and bug-smasher - btw.: driver writing is nothing mysterious
- Hans
- 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
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.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.
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.
- Karlos
- 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
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.
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.
- Daytona675x
- 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
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
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