Commit Graph

181 Commits

Author SHA1 Message Date
Matt Borgerson c31cbf9f4e nv2a: Writeback dirty surfaces on scale change, VM load 2021-07-26 15:03:52 -07:00
Matt Borgerson 59d3bfe268 nv2a: Add swizzle to surface compat check 2021-07-20 10:37:07 -07:00
Matt Borgerson 5ec33df112 nv2a: Minor refactor 2021-07-20 10:37:07 -07:00
Matt Borgerson 5778854dbd nv2a: Scale point sprites by surface scaling factor 2021-07-20 10:37:07 -07:00
Matt Borgerson 52c670141a nv2a: Skip sync when moving from color<->zeta 2021-07-20 10:37:07 -07:00
Matt Borgerson 4a8cc6f623 nv2a: Use scaling factor helper function 2021-07-20 10:37:07 -07:00
Matt Borgerson 5562a484e1 nv2a: Support integer scaling of surface dimensions 2021-07-20 10:37:07 -07:00
Mike Davis 0b9a2e1a8f nv2a: Support NV062_SET_COLOR_FORMAT_LE_Y32 blitting 2021-07-18 22:58:16 -07:00
Mike Davis 0f9b862e37
nv2a: Support texture format SZ_DEPTH_Y16_FIXED 2021-07-12 12:15:49 -07:00
Mike Davis be3df6ab8e nv2a: Support texture format LC_IMAGE_YB8CR8YA8CB8 2021-07-10 23:29:01 -07:00
Mike Davis ed7cbef976
nv2a: Support texture format COLOR_LU_IMAGE_G8B8 2021-07-10 02:58:18 -07:00
Matt Borgerson 203c76f89c nv2a: Handle point sprites, scaling 2021-07-10 02:42:15 -07:00
Mike Davis f03015e20e
nv2a: Support texture format COLOR_SZ_B8G8R8A8 2021-07-03 13:10:31 -07:00
Matt Borgerson 473179b9f4 nv2a: Minimize clip origin for compatible surfaces 2021-07-02 17:42:25 -07:00
Matt Borgerson aaf8522431 nv2a: Add offset to FF inv. viewport matrix 2021-07-02 14:18:30 -07:00
Matt Borgerson 315ac1ceaa nv2a: Transform surface scissor y-coord by abs. surface height 2021-07-02 14:18:30 -07:00
Matt Borgerson 4716b7b980 nv2a: Transform clear y-coord by abs. surface height 2021-07-02 14:18:30 -07:00
Matt Borgerson e0f83c8be7 nv2a: Check zeta dirty after color update 2021-07-02 14:18:30 -07:00
Matt Borgerson 364588f426 nv2a: Better field render handling 2021-07-02 14:18:30 -07:00
Matt Borgerson f3f40b4c89 nv2a: Check surface expansion pitch and overlap 2021-07-02 14:18:30 -07:00
Matt Borgerson a07b8f1a2a nv2a: Factor surface entry population out 2021-07-02 14:18:30 -07:00
Matt Borgerson fef3a463b6 nv2a: Remove old up/down debug messages 2021-07-02 14:18:30 -07:00
Matt Borgerson e9ed81ac5a nv2a: Factor zeta format decode out to a table 2021-07-02 14:18:30 -07:00
Matt Borgerson be9360bb69 nv2a: Improve clipped surface handling 2021-07-02 14:18:30 -07:00
Matt Borgerson a7f3f8f212 nv2a: Don't orphan display buffer 2021-06-17 04:19:24 -07:00
Matt Borgerson 6f477f02a6 nv2a: Enable exclusive clip 2021-06-02 18:08:06 -07:00
Matt Borgerson ebcc77c6c8 nv2a: Fix window clip coordinate transform 2021-06-02 15:42:13 -07:00
Josef Šimánek df940c0b3f nv2a: Add NV062_SET_COLOR_FORMAT_LE_X8R8G8B8 definition 2021-05-18 13:34:18 -07:00
Matt Borgerson dc8eab47f6 nv2a: Use new 'q' prefix for atomics 2021-04-18 23:41:28 -07:00
Matt Borgerson 0214f88f91 nv2a: Move vertex decompression to shader 2021-03-16 16:00:42 -07:00
Matt Borgerson 09e2357d02 nv2a: Cache inline elements in LRU 2021-03-16 16:00:42 -07:00
Mike ceee8d67b9 nv2a: Verify surface format X1R5G5B5_Z1R5G5B5 2021-03-13 16:14:31 -07:00
Matt Borgerson 1c6f85cdd9 nv2a: Round inline array attr offsets to natural boundary 2021-03-12 05:18:10 -07:00
Matt Borgerson 8d5961ab8f nv2a: Avoid shader lookups+binds 2021-03-12 04:45:53 -07:00
Matt Borgerson 2dbf966a50 nv2a: Include attribute data address in LRU key 2021-03-11 04:51:36 -07:00
Matt Borgerson fcb3246d4f nv2a: Connect draw arrays primitives originally within BEGIN/END 2021-03-11 03:07:52 -07:00
Matt Borgerson 2483bc59aa Revert "nv2a: Don't attempt to connect primitives in arrays"
This reverts commit 33f8d3c88c.
2021-03-11 03:07:52 -07:00
Matt Borgerson 5756a8892c nv2a: Squash repeated draw arrays 2021-03-11 02:06:35 -07:00
Matt Borgerson 33f8d3c88c nv2a: Don't attempt to connect primitives in arrays 2021-03-11 02:06:35 -07:00
Matt Borgerson 48ccf72e55 nv2a: Consider element range start in buffer uploads 2021-03-11 01:25:45 -07:00
Matt Borgerson 9ab3dcbd6c nv2a: Update VSH constants only if different 2021-03-11 01:10:36 -07:00
Matt Borgerson 105f86d973 nv2a: Factor Kelvin methods into functions 2021-03-06 01:45:40 -07:00
Camden Smallwood 10863d1c0d nv2a: Use GL_ELEMENT_ARRAY_BUFFER when calling glDrawElements 2021-03-04 17:53:08 -07:00
Matt Borgerson 6e564854fc xemu: Update copyright 2021-03-03 03:48:11 -07:00
Matt Borgerson 48c1720da8 nv2a: Support PVIDEO overlays again 2021-03-01 18:40:30 -07:00
Matt Borgerson f2bfa672e6 nv2a: Specify GL_STREAM/STATIC_DRAW buffer usages 2021-02-27 15:17:17 -07:00
Matt Borgerson 0d9ff0872a nv2a: Swap glDrawRangeElements for glDrawElements 2021-02-27 15:17:17 -07:00
Matt Borgerson f89dc5c446 nv2a: Add surface download complete event 2021-02-18 21:17:30 -07:00
Matt Borgerson 7b84142c4e nv2a: Add fb sync complete event 2021-02-18 02:48:25 -07:00
Matt Borgerson 8326870f77 nv2a: Eliminate re-malloc of inline buffer 2021-02-12 18:55:06 -07:00
Matt Borgerson b536ac07d6 nv2a: Fix surface debug print field 2021-02-11 16:45:36 -07:00
Matt Borgerson 7926347c8b nv2a: Fix buffer size in surface flip 2021-02-11 16:33:47 -07:00
Matt Borgerson afed1a4835 nv2a: Clear entire PSH struct before hashing 2021-02-11 16:10:34 -07:00
Matt Borgerson a88b4cf9f5 nv2a: Minor cleanup 2021-02-11 16:10:34 -07:00
Matt Borgerson 3248c8ebbf nv2a: Fast path PGRAPH method processing 2021-02-11 15:23:47 -07:00
Matt Borgerson 8e29469ddb nv2a: Cache converted vertex data 2021-02-11 14:54:39 -07:00
Matt Borgerson 9b42f4aaa3 nv2a: Add binning to LRU 2021-02-11 14:30:52 -07:00
Matt Borgerson d2990d0e47 nv2a: Use XXH3_64bits as fast hash 2021-02-11 14:09:52 -07:00
Matt Borgerson 7a08e93085 nv2a: Add simple frame metrics 2021-02-11 13:50:18 -07:00
Matt Borgerson 996f3d4dc3 nv2a: Grab lock before marking pending download 2020-12-30 03:52:46 -07:00
Matt Borgerson e431cbff82 nv2a: Fix compiler nits 2020-12-30 03:51:47 -07:00
Matt Borgerson af35a8b728 nv2a: Approximate CLAMP_OGL with CLAMP_TO_EDGE 2020-12-07 19:25:48 -07:00
Matt Borgerson 0bec22318a nv2a: Add Gaussian convolution filter for AA 2020-12-02 16:49:58 -07:00
Matt Borgerson a34cab69dd nv2a: Support line and poly anti-aliasing 2020-12-01 22:36:09 -07:00
Matt Borgerson 59980ba1c7 nv2a: Refactor BUMPENVMAP[_LUM] 2020-11-14 16:30:59 -07:00
Matt Borgerson 183ed86aa6 nv2a: Fix color swizzle for SZ_G8B8 and SZ_R8B8 2020-11-14 16:30:59 -07:00
Wilhelm Kovatch ff3deacae6 nv2a: Fix BUMPENVMAP[_LUM] texture modes 2020-11-14 16:27:12 -07:00
Wilhelm Kovatch 5aa0cec31b nv2a: Support 3D texture decompression in software 2020-11-01 17:55:14 -07:00
Matt Borgerson 5cc4568dfe nv2a: Force surface flush for mipmapped textures 2020-10-28 22:03:56 -07:00
Matt Borgerson 3c6596975d nv2a: Implement dot texture modes and dotmapping 2020-10-28 15:59:20 -07:00
Matt Borgerson 9060302670 nv2a: Add GL error guard for glCompressedTexImage3D
This only works with DXT1/S3TC if the implementation has the
NV_texture_compression_vtc extension, otherwise GL_INVALID_ENUM will be
raised. Bail out in this case, until a software fallback is implemented.
2020-10-28 04:40:11 -07:00
Wilhelm Kovatch b9df397493 nv2a: Fix compressed 3D textures 2020-10-26 21:43:12 -07:00
Wilhelm Kovatch 518c9f38cd nv2a: Add support for compressed 3D textures 2020-10-26 19:49:47 -07:00
Matt Borgerson 6f777e73e6 nv2a: Add B8, G8B8 surface format placeholders 2020-10-26 00:20:48 -07:00
Matt Borgerson 23096561a3 nv2a: Check for same zeta/color surface offset 2020-10-25 03:39:58 -07:00
Matt Borgerson 4cd7c98025 nv2a: Unbind surfaces when flushing 2020-10-23 14:33:45 -07:00
Dalai 6936945afa nv2a: Support texture format COLOR_LU_IMAGE_DEPTH_Y16_FLOAT 2020-10-23 13:38:57 -07:00
Matt Borgerson d6e52a02c4 nv2a: Lazily synchronize surface data to/from RAM 2020-10-22 21:29:53 -07:00
Matt Borgerson 6a2f6b3637 nv2a: Download surface before blit 2020-10-18 01:37:19 -07:00
Matt Borgerson 79989a0e3f nv2a: Always use texture cache 2020-10-18 01:16:32 -07:00
Matt Borgerson a3fc742bbe nv2a: Remove nv2a_ prefix on files in nv2a dir 2020-10-18 00:55:08 -07:00