40 Commits

Author SHA1 Message Date
Luke Street 9ef9144b57 WIP gpu_prof 2026-06-12 10:28:52 -06:00
Ahmad Abdallah 2c1e8ed840 Fix GX_NRM_NBT and GX_NRM_NBT3 vertex attribute handling (#181)
* Fix GX_NRM_NBT and GX_NRM_NBT3 vertex attribute handling

* Fix GX_NRM_NBT3 indexing, add GX_TG_BINRM/GX_TG_TANGENT support

* Add GX_TG_BUMP emboss bump mapping support
2026-06-03 20:52:26 -06:00
Luke Street 417f558669 Always write texcoord_scale (for now) 2026-06-03 00:56:12 -06:00
Thomas Ryan fb156d78ca Fix GX indirect tile window rendering (#218)
Co-authored-by: Thomas Ryan <contact@thomasryan.ca>
2026-06-02 10:04:31 -06:00
Luke Street 11c6ad2745 Add support for GX_TG_COLOR0/1 2026-05-29 23:05:40 -06:00
Florian Klampfer 3b06e240a3 Adreno fixes (#202)
* Fix adreno issues

* Gate adreno checked access

* Drop adreno gate

* Trim fetch args

* Reuse scalar u16 load

* Inline u16 fetches

* Drop decode helper

* Scalarize fixed16 attrs

* Simplify fixed16 attrs

* Try scalar u16 helpers

* Revert scalar u16 helpers

* Tidy fixed16 helper
2026-05-24 05:26:24 -06:00
Luke Street 449e7bf9b9 Quantize & constant fold alpha comparisons 2026-05-10 12:40:31 -06:00
Luke Street 9413f24f65 Stop caching ShaderModules and rely on Dawn cache 2026-05-09 09:45:13 -06:00
Luke Street be101e894a Use floating-point modulo for TEV overflow 2026-05-04 23:31:54 -06:00
Luke Street 4f8b63bba5 Check the right lightState for alpha channels 2026-04-18 15:57:08 -06:00
Luke Street c05e7aace1 Viewport scaling rework & IR configuration (#127)
This is a breaking change: `GXSetViewport`, `GXSetScissor`, `GXSetTexCopySrc`, `GXSetTexCopyDst` now accept logical coords relative to the `VIConfigure` EFB size.

`GXSetViewportRender` and `GXSetScissorRender` are used to override the scaled viewport/scissor from the logical coords.
2026-04-18 14:10:32 -06:00
CraftyBoss ee8f51c895 change bswap16 to allow adreno gpus to compile shaders (#118) 2026-04-12 21:27:19 -06:00
Luke Street bf46df6ba7 Simplify bind groups & improve caching 2026-04-12 18:55:35 -06:00
Dávid Balatoni f241595f24 Fix color shader error "cannot assign to value of type swizzle" (#112)
Suggested by encounter, it fixes this error:
[FATAL | aurora::gpu] WebGPU error 2: Error while parsing WGSL: :446:5 error: cannot assign to value of type 'swizzle<function, vec3<f32>, read_write, 4, 3>'
    prev.rgb = tevreg0.rgb;
2026-04-09 19:02:14 -06:00
Pieter-Jan Briers 212d01769d Tracy integration (#106)
* Sprinkle Tracy all over the project

* Move Tracy FetchContent to extern file, disable Tracy by default

* Use older CMake syntax for setting cache variables

* Fix test compile

* Rename ALIGN macro to AURORA_ALIGN

Needed because it conflicts with a macro in Apple's SDK headers on my macbook, and Tracy is now pulling in that header.
2026-04-08 19:19:58 -06:00
Luke Street 833122b894 Fix indMtx scaleExp (5-bits instead of 6) 2026-04-07 18:08:33 -06:00
Luke Street 31ee02fe06 Fix separate color/alpha lighting 2026-04-01 18:26:01 -06:00
Luke Street 6b9f614d32 Texture refactor (#78)
- Removes special sampling logic from the GX shader in favor of performing conversions using separate draw calls and swizzling
- Simplifies texture bindings
- Much more accurate EFB copy handling (still incomplete but better)
  - Handle copy clears appropriately (color, alpha, depth) + GXSetDstAlpha copies
- Re-enables code for buffered texture uploads
- Adds `lastTextureUploadSize` to AuroraStats
- Use RG8 + swizzle for IA4/IA8
2026-04-01 00:49:28 -06:00
Luke Street 24a00238de Implement GX_POINTS 2026-03-31 00:43:08 -06:00
Luke Street 507fda8591 Implement GX_LINES and GX_LINESTRIP
Includes support for GXTexOffsets
2026-03-29 22:33:28 -06:00
Luke Street f45a8a13f1 Fix GX_TG_MTX3x4 w/ GX_TG_TEX* src 2026-03-29 14:01:02 -06:00
Luke Street d0490990f0 Avoid NaN normals (from Lars) 2026-03-29 12:58:35 -06:00
Luke Street 587e2e3cb6 Full GPU vertex parsing 2026-03-29 12:58:35 -06:00
TakaRikka 236a7a5e9a fix incorrect t_TexCoord usage (#66) 2026-03-27 12:53:09 -06:00
TakaRikka d76b70fc72 i8 palette support (#65) 2026-03-21 08:40:39 -06:00