English Amiga Board


Go Back   English Amiga Board > Main > Amiga scene

 
 
Thread Tools
Old 19 June 2024, 20:15   #41
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,466
Quote:
Originally Posted by paraj View Post
Amiga side and uploaded to the VC4, bypassing the ARM processor, so while not 100% 68k I think this is not what you're asking
Funny enough I did see that. I assumed it was compiled into into a binary blob that the 68k driver uploaded.

Quote:
Originally Posted by paraj View Post
(*): If/when this works better we may want a special (newer) version to better arbitrate the hardware between different drivers and add proper interrupt support etc, but again this is not a material change to what is already available/possible
I find that all magical. Converting ARM interrupts somehow into emulated 68k interrupts. Perhaps the interrupt controller needs to be exposed to 68k side? I digress.
alexh is online now  
Old 19 June 2024, 20:42   #42
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,217
Quote:
Originally Posted by alexh View Post
Funny enough I did see that. I assumed it was compiled into into a binary blob that the 68k driver uploaded.
FWIW it's not just one blob that's uploaded, rather it's built by small bits and pieces composed at runtime 68k-side depending on what's being rendered. For each similar batch of triangles a fragment shader is composed and uploaded (amiga side), and then then the batch is rasterized (vc4 side). I had hoped this would be quick enough,but the problem is that it doesn't utilize the internal caches of the graphics chip well enough.


Quote:
Originally Posted by alexh View Post
I find that all magical. Converting ARM interrupts somehow into emulated 68k interrupts. Perhaps the interrupt controller needs to be exposed to 68k side? I digress.
Yes, exactly. Michal has more or less done the work (long time ago even AFAII), but needs Amiga side consumers and debugging. "Just" a matter of saying ARM interrupt goes to e.g. Amiga level 6 interrupt, but needs to not ruin everything else
paraj is offline  
Old 20 June 2024, 09:26   #43
thellier
Registered User
 
Join Date: Sep 2011
Location: Paris/France
Posts: 278
You dont need to create a shader each time to emulate the fixed pipeline of Warp3D for 68k
I did a Wazp3D for OS4 that was using Nova as hardware renderer so it was using shaders too for rendering and I needed only to generate shaders for multitexturing that only Warp3D v5 for OS4 have
For the other cases (Warp3D v4 for OS3) I just needed a single vertex shader and one fragment shader that test the TexEnv Mode (Replace, modulate,add,etc..) and compute the pixels accordingly

Mail me for this shader source
thellier ¤ free ' fr

Last edited by thellier; 20 June 2024 at 09:35.
thellier is offline  
Old 20 June 2024, 18:55   #44
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,217
Quote:
Originally Posted by thellier View Post
You dont need to create a shader each time to emulate the fixed pipeline of Warp3D for 68k
I did a Wazp3D for OS4 that was using Nova as hardware renderer so it was using shaders too for rendering and I needed only to generate shaders for multitexturing that only Warp3D v5 for OS4 have
For the other cases (Warp3D v4 for OS3) I just needed a single vertex shader and one fragment shader that test the TexEnv Mode (Replace, modulate,add,etc..) and compute the pixels accordingly

Mail me for this shader source
thellier ¤ free ' fr
I only make new shader on first use obviously You can see the shader sources in qpu directory: https://github.com/mras0/vc4d/tree/master/qpu
It's basically "outer_loop" with body + the various stages depending on z mode / alpha blend etc (you can see e.g. w3d_decal.qasm , w3d_one_minus_src_alpha.qasm). Not the best approach or anything, but it meant I could avoid making a shader "compiler".


This part is fine I think, the big problem is that I can't make use of the texture/z cache. It's basically a GPGPU software rasterizer, that I had hoped would be fast enough, but bandwidth limitations are killing me, and unfortunately I'm forced to use the whole 3d pipeline with all that complexity to make progress (which is why it needs a rewrite).
paraj is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Any way to write Kryoflux images back to disk without the hardware? Puggsy support.Hardware 4 16 November 2018 00:10
Wazp3D Hardware-Gpu Error Zilog support.WinUAE 24 05 September 2018 20:06
Optimizing HAM8 renderer. Thorham Coders. Asm / Hardware 5 22 June 2017 18:29
Best way to write/mount adfs on actual hardware? Marchie support.Other 7 22 September 2016 15:35
Renderer that played synth sound, know its name? copse Nostalgia & memories 0 10 June 2015 10:12

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 11:53.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.11222 seconds with 13 queries