Commit graph

122 commits

Author SHA1 Message Date
Stefan Schmidt
960698a24e nv2a: Set content of disabled register combiner stages to zero 2019-02-06 23:32:22 -07:00
Jannik Vogel
f3d7e72a5c nv2a: Fix A8Y8 texture formats 2019-02-06 23:28:43 -07:00
Matt Borgerson
7a59bf14d3 nv2a: Use linear addressing for LU_IMAGE_A4R4G4B4 2019-02-06 20:05:12 +01:00
Jannik Vogel
e7bd7bf228 dsp: Support FIFO output in DMA 2019-01-28 12:01:58 -07:00
Jannik Vogel
2e660193a0 apu: Add support for DSP FIFOs 2019-01-28 12:01:58 -07:00
Jannik Vogel
423b6f57bc apu: Fix off-by-one in scatter gather page entry check 2019-01-28 12:01:58 -07:00
Lucas Eriksson
929954e713 smbus: Fix wordwrite bug 2019-01-27 13:24:50 +01:00
CakeLancelot
ebb1052278 xid: Fix trigger range in xid-sdl 2019-01-27 12:39:34 +01:00
Matt Borgerson
47452495c0 nv2a: Fix NV097_SET_VERTEX_DATA2S scaling
Vertex attribute values provided via NV097_SET_VERTEX_DATA2S are
apparently two 16-bit signed integers, packed into 32 bits, which are
then to be directly mapped to floating point values in the range
[-32768.0, 32767.0].

Halo:CE uses this format to provide texture (u,v) coordinates for
render-to-texture techniques, including weapon scope, dynamic shadows,
and radar beacon--all of which are now working as expected with this
patch.
2019-01-22 16:12:11 -07:00
Matt Borgerson
fc995f154c xid: Port fixes made to xid.c to xid-sdl.c
The recent fixes to xid.c (32bf810) didn't make it to xid-sdl.c. This
patch ports over those changes. In the future, the parts common to both
xid.c and xid-sdl.c should be factored out so this doesn't happen again.

Original work done by Jannik Vogel (aka JayFoxRox) on Jul 5th, 2018.
2019-01-15 14:44:54 -07:00
Jannik Vogel
01be8ef6b8 dsp: Improve DMA debug message 2018-12-29 12:07:38 +01:00
Jannik Vogel
4513ab50da dsp: Decode all DMA control bits 2018-12-29 12:07:38 +01:00
Jannik Vogel
e3a93c48fb apu: Access system memory directly 2018-12-27 15:00:35 -07:00
Jannik Vogel
9cac29fe07 apu: Activate voice on VOICE_ON, regardless of list position 2018-12-26 15:44:15 -07:00
Jannik Vogel
7c43feded0 apu: Fix offset of scratch space PRD control word 2018-12-26 15:44:15 -07:00
Jannik Vogel
8579e23ecb apu: Use NV1BA0_PIO_VOICE_OFF_HANDLE mask 2018-12-26 15:44:15 -07:00
Jannik Vogel
f94bcbacfa dsp: Support 'dec d' 2018-12-26 14:58:32 -07:00
Jannik Vogel
fae1e33622 dsp: Support 'inc d' 2018-12-26 14:58:32 -07:00
Matt Borgerson
02f3b701d0 nv2a: Replace texture cache with a simpler implementation 2018-12-13 11:42:14 -07:00
Jannik Vogel
910dadc5ab nv2a: Fix window-clip region off-by-one error 2018-11-08 12:00:12 -07:00
Jannik Vogel
e3d0803843 nv2a: Force GL surface transfer on surface address or pitch changes 2018-11-06 12:05:15 -07:00
Jannik Vogel
781a73e118 nv2a: Debug log GL surface transfers in GL 2018-11-06 12:05:15 -07:00
Jannik Vogel
b42d49498c psh: Cleanup and dead code removal 2018-11-06 11:56:01 -07:00
Jannik Vogel
5db1694f88 psh: Rename c0 and c1 uniforms 2018-11-06 11:56:01 -07:00
Matt Borgerson
d7dbfce2bc nv2a: re-enable texture caching
Texture caching (enabled via `USE_TEXTURE_CACHE` macro) got turned off
in a cleanup commit. Turn it back on for performance.
2018-11-03 15:53:02 -07:00
Lucas Eriksson
6ecac32cff eeprom: Read EEPROM from file 2018-10-10 11:40:18 -07:00
espes
e12aa122cf relicense xbox components as LGPL
(with permission)
2018-10-10 13:38:16 +10:00
Stefan Schmidt
1c6bb37bec Replace ffs() calls with ctz32() 2018-10-08 11:34:23 -07:00
espes
3d33d8101b cleanup nv2a 2018-09-26 17:42:41 +08:00
espes
3ee213e59a cleanup xbox.c 2018-09-26 17:03:42 +08:00
Matt
316967c441 nv2a FIFO Refactoring (#76)
* Port espes's fifo work to the split up nv2a code

This patch ports over the following commits from the XQEMU 1.x tree
(available via tag archive-xqemu-1.x) to the refactored nv2a code:

- 4d9107e8 (HEAD -> xbox, upstream/xbox) Merge branch 'fix-fifo' into xbox
- c33f4ab2 cleanups
- d3f83d93 cleanups
- faca5dd0 fix
- 7c62d7c1 fixes
- 8ad239b0 wip
- 45ed3c31 wip
- c006d5e8 wip

However, in its current form, this patch causes some regressions and
needs further investigation.

* nv2a: basic pattern object
2018-09-26 16:10:07 +08:00
Lucas
7960ffe466 nv2a: Ptimer fixes (#113)
Set NV2A_CRYSTAL_FREQ to Retail speed
Fix ptimer_get_clock() behaviour
2018-09-26 16:01:28 +08:00
Matt Borgerson
6b21948bcc Merge branch 'master' into merge_3_0_0_sync 2018-09-05 20:07:50 -07:00
Matt Borgerson
5246cad0c1 nvnet: don't trigger interrupt if no packets are sent 2018-09-04 01:20:16 +02:00
Lucas Eriksson
c01c27d968 nv2a: Fix EXP and LOG
According to the NV_vertex_program specification, our implementations of
these functions were wrong.
spec:
https://www.khronos.org/registry/OpenGL/extensions/NV/NV_vertex_program.txt
2018-09-04 01:14:55 +02:00
Matt Borgerson
aa32236d5a smbus: Replace smbus_eeprom_init_single with new upstream equivalent 2018-09-02 14:14:34 -07:00
Matt Borgerson
a0dad83029 nv2a: Replace QINC/DECREF macros with new inlines 2018-09-02 13:49:53 -07:00
Matt Borgerson
12401cd500 nv2a: remove global_vmstate arg in vga_common_init 2018-09-02 13:49:24 -07:00
Matt Borgerson
9c96d7bc08 sio: Use serial_hd(i) instead of serial_hds[i] 2018-09-02 13:48:02 -07:00
Matt Borgerson
a0ed8d9c8b smbus: Use DeviceClass::realize instead of init
I2CSlaveClass::init removed in c8c9e10, use DeviceClass::realize
instead.
2018-09-02 13:44:07 -07:00
Jannik Vogel
92af9ca78e dsp: Implement GP memory register access 2018-07-30 12:27:15 -07:00
Jannik Vogel
2543aaf615 dsp: Fix EP memory register reads; implement writes 2018-07-30 12:27:15 -07:00
Jannik Vogel
57e9059e17 dsp: Fix broken X-Memory map 2018-07-30 12:27:15 -07:00
Matt Borgerson
f169ce4c26 nv2a: Move some defs to nv2a.h and fix minor nits 2018-07-25 02:03:30 +02:00
Matt Borgerson
10b3b06320 nv2a: Fix minor prototype style issues 2018-07-25 02:03:30 +02:00
Matt Borgerson
8075a2f7ce nvnet: Fix checkpatch nits 2018-07-25 02:03:30 +02:00
Matt Borgerson
f63c322740 smbus: Replace debug printf statements with macro 2018-07-25 02:03:30 +02:00
Matt Borgerson
a4c9ee6b13 sio: Replace debug printf statements with macro 2018-07-25 02:03:30 +02:00
Matt Borgerson
f0ea80b4bd nv2a: Use a macro to define the nv2a stub handlers 2018-07-25 02:03:30 +02:00
Matt Borgerson
7e7f837bad nv2a: Remove STUB stuff from nv2a.c 2018-07-25 02:03:30 +02:00