Vincent Lejeune
eb1d4811de
rsx: Use a "draw clause" object in rsx_state.
2016-08-05 23:33:40 +02:00
Vincent Lejeune
7a6f5b6ee5
rsx: Move index pointer generation in rsx::thread.
2016-08-05 17:54:44 +02:00
Nekotekina
5a36c57c57
Formatting system improved
...
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
Nekotekina
1c69eb2b73
rsx_method_t extended
...
rsx_methods.cpp cleanup
2016-07-31 18:16:49 +03:00
Nekotekina
6a9f3040e1
rsx_methods.cpp fix
2016-07-31 18:16:48 +03:00
Nekotekina
f8719c1230
PPUThread refactoring
...
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Vincent Lejeune
ac771f951d
rsx: Copy state in capture frame call
2016-07-27 20:20:35 +02:00
Vincent Lejeune
8b12379eb3
rsx: Use bitfield template to decode values.
2016-07-27 18:38:36 +02:00
Nekotekina
7ccdea7822
Removed std::enable_shared_from_this
...
Minor ID manager refactoring
2016-07-24 21:06:05 +03:00
Nekotekina
deeb4acbe5
Partial revert of 6ae54ae27b
2016-07-22 19:26:58 +03:00
raven02
8157e7cac8
Obsolete 3D monitor ( #1955 )
2016-07-20 23:45:26 +08:00
Nekotekina
ae634bb87e
RSX exception fix
...
VBlank thread management fix
2016-07-20 15:16:19 +03:00
Vincent Lejeune
e9bee80f4b
rsx: Use register_decoder for vertex attributes.
2016-07-19 20:28:32 +02:00
raven02
e1ff3f4674
rsx: use fragment_textures_count ( #1948 )
...
* rsx: use fragment_textures_count
* Typo: unknow -> unknown
2016-07-19 22:50:40 +08:00
kd-11
2337bf204c
vk/dx12: Enable/fix separate back and front lighting ( #1927 )
...
* vk: separate specular color
rsx: separate front color output from back color output
re-enable front-back diffuse lighting
vk: fix front face selection and actually enable face culling
* dx12: Hide constant-key blended visuals (by common use of factor, 1-factor)
* dx12: Fix 2 sided lighting when the shader does not compute both outputs
* vk/dx12: confirm that src register exists before copying for 2-sided lighting
2016-07-18 00:57:50 +08:00
Vincent Lejeune
d97cdb9fbf
rsx: Gather most rsx commands pretty printing and state modification function in a single file.
...
rsx_decode.h implements a "rsx_decoders" template class that is specialized for most GCM command
found in rsx command buffer. 3 static members are defined : a "decode" function that turns command
value into a more meaninfull type if applicable (for instance bool for _enabled* command, surface
formats for set_surface_format command...), a "commit_rsx_state" that modifies a given rsx_state
structure when the command is parsed, and a "dump" function used in rsx_debugger for pretty printing.
Hopefully having the 3 functions in a single place for every command will act as a self documenting
list of rsx command buffer opcode.
rsx_state is also expanded into several explicit variables instead of being stored into a u32 array.
This should makes debugging easier (Visual Studio will display the exact value of these member for instance)
as well as preparing rsx_state for serialisation/deserialisation.
The vertex array and textures opcode are not concerned atm for bisecting purpose.
2016-07-17 17:31:53 +02:00
kd-11
2c981cf940
rsx: mark register access with divider op enabled and frequency 1 ( #1892 )
2016-07-12 02:53:52 +08:00
Vincent Lejeune
772706ca4c
Factorize rsx state
2016-07-07 21:38:57 +02:00
DH
989f954432
Added WIP vertex textures support
2016-06-28 12:58:44 +03:00
DH
44879dd9f3
Implemented alpha kill and fog
2016-06-27 01:52:08 +03:00
DH
6ae54ae27b
RSX: Added legacy non-array vertex attributes support (if count of elements > 1)
...
Fixed ps1ght games
2016-06-26 21:32:50 +03:00
DH
e296f81a37
Shaders decompiler: support non 2D textures
...
Do not validate programs with undefined textures uniforms
Minor fix
2016-06-26 21:32:48 +03:00
DH
f30d71da6c
OpenGL renderer: improved vertex attributes setup
...
Minor fixes
2016-06-22 22:46:47 +03:00
O1L
083c4fc855
Try to use new shaders decompiler in OpenGL backend
2016-06-21 19:56:00 +03:00
Nekotekina
266db1336d
The rest
2016-05-23 16:22:25 +03:00
Ivan
aafcf44581
Header optimizations ( #1684 )
...
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan
da7472fe81
Optimizations ( #1680 )
...
* Optimizations
1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)
* any_pod<> implemented
Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Ivan
75fe95eeb1
GSL moved from stdafx.h ( #1676 )
...
Added GSL.h helper for correct including
2016-04-20 02:32:27 +03:00
Nekotekina
b85a68e8a1
Partial commit: RSX
2016-04-15 19:22:36 +03:00
Vincent Lejeune
2ae5a7ff39
rsx/common/d3d12/gl/vulkan: Use single overload for write_index_array_data_to_buffer.
2016-04-07 22:17:28 +02:00
Vincent Lejeune
91d0229bc5
rsx/common: Use an help texture_dimension_extended to handle cubemap more cleanly.
2016-03-30 22:19:29 +02:00
Vincent Lejeune
f2c82d3cf4
rsx/common: Use a typed class for texture dimension.
2016-03-30 20:03:50 +02:00
Vincent Lejeune
4d71df70db
rsx-debug: Record and display index buffer content.
2016-03-05 18:48:30 +01:00
Vincent Lejeune
52e2800fb5
rsx: Reset fog mode/param to linear/1.;
...
Fix After Burner Climax fog
2016-03-05 18:25:31 +01:00
Vincent Lejeune
32434dd848
rsx/common/d3d12/gl: Support for fog mode.
...
Fix hitman 2
2016-02-29 16:31:18 +01:00
Vincent Lejeune
35db227af4
rsx/common/d3d12: Separate int type buffer from float type buffer.
2016-02-27 00:21:14 +01:00
Vincent Lejeune
a6ba47265f
rsx/common/gl: s32k is actually signed short unormalized.
...
gl fix
2016-02-27 00:21:12 +01:00
Vincent Lejeune
5ef7f8bf3e
rsx/common: Fix handling of UB256
2016-02-27 00:21:06 +01:00
Vincent Lejeune
79dc835378
rsx/common: Track transform constant update.
2016-02-21 21:29:44 +01:00
Vincent Lejeune
837e06e85b
rsx/common/d3d12: Support non default alpha function
...
Fix After burner climax cloud effects.
2016-02-13 17:07:12 +01:00
Vincent Lejeune
f0dc38cadd
rsx/common/d3d12: Support back spec/diffuse color.
...
Fix green car in Outrun.
2016-02-08 17:35:52 +01:00
Vincent Lejeune
4efa2266e6
rsx/common/d3d12: Use m_texture_dirty[i] to signal texture state change and avoid unecessary bind operation.
2016-02-08 17:35:50 +01:00
Vincent Lejeune
f6d2409b20
rsx/common/d3d12: Support for shader window setting.
2016-01-30 21:58:12 +01:00
Vincent Lejeune
5f35f2ac7d
rsx/common/d3d12: Support for texture 1d too.
...
They are used in after burner climax
2016-01-30 01:13:15 +01:00
Vincent Lejeune
b71caa94ac
rsx-debug: Print number of vertex draw again.
2016-01-25 18:48:53 +01:00
Vincent Lejeune
4ce4cf5242
rsx: Add vertex input and output in RSXVertexProgram.
2016-01-22 01:24:54 +01:00
DHrpcs3
2e58f312d5
rsx: implemented internal tasks queue (WIP)
2016-01-20 17:12:49 +03:00
DHrpcs3
7972cb5bdc
Code style fixes #1
2016-01-20 16:23:25 +03:00
DHrpcs3
685d5d3ea3
Access violation handled by rsx::thread
...
gfxHandler -> rsx::g_access_violation_handler
2016-01-20 15:46:58 +03:00
Vincent Lejeune
440c637b1f
rsx/common/d3d12: Move surface_store in common
2016-01-19 22:49:10 +01:00
Vincent Lejeune
1ce49b60d9
rsx-debug/d3d12: Support all rtt formats.
2016-01-17 20:02:30 +01:00
Vincent Lejeune
3b4339c8e0
rsx: Use enum class for surface related regs
2016-01-15 23:44:27 +01:00
Nekotekina
38531459df
Logging system rewritten
...
GUI doesn't freeze anymore
Some things simplified
2016-01-13 18:54:57 +03:00
Nekotekina
b3e3c68f15
File utility improved
...
+ minor fixes
2016-01-13 14:12:04 +03:00
Vincent Lejeune
689dee9944
rsx/common/d3d12: Consider separate index range as a whole.
...
Fix Wolf of the Battlefield 3
2016-01-13 00:28:48 +01:00
DHrpcs3
a17c41b4e1
nv4097::get_report: use DMA
2016-01-10 23:22:55 +02:00
Vincent Lejeune
31a925b4f0
rsx: reenable frame capture
...
Likely commented out by accident.
2016-01-09 23:18:04 +01:00
Vincent Lejeune
d153575e59
rsx/common/d3d12/gl: Support for CMP/non pow of 2 size vertex formats.
...
Also use class enum for base_vertex_type everywhere.
Fix Bomberman Ultra color and Cubixx HD geometry.
2016-01-09 23:18:03 +01:00
DHrpcs3
f7e787958e
fixed nv3089::image_in scale value
2016-01-06 13:30:25 +02:00
DHrpcs3
8912b9880e
rsx: initialize vertex textures on reset
2016-01-06 13:30:25 +02:00
DHrpcs3
48919330d7
rsx methods moved from rsx thread
2016-01-06 13:30:24 +02:00
DHrpcs3
ba12c489ec
gl: using tiled region for read/write color buffers and flip
...
gl: fixed flip buffer row length
compilation fixes
2016-01-06 13:30:23 +02:00
DHrpcs3
11ccc498fd
Reimplemented nv3089::image_in
2016-01-06 13:30:22 +02:00
DHrpcs3
836d14c8af
rsx::pad_texture & rsx::convert_linear_swizzle moved to rsx_utils
...
Added rsx::convert_scale_image & rsx::clip_image to rsx_utils
2016-01-06 13:30:22 +02:00
DHrpcs3
5a4babb0fd
Implemented basic tiled regions support
2016-01-06 13:30:22 +02:00
Vincent Lejeune
cae2d929ab
rsx/common/d3d12/gl: Implement draw inline array support
2016-01-05 00:31:47 +01:00
Vincent Lejeune
5f12a4f7b5
rsx/common/d3d12/gl: Use separate vertex array/vertex register states.
2015-12-30 17:04:34 +01:00
Nekotekina
3ed603074c
Changes done by [DH] rewritten
...
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Nekotekina
aa811b6eef
Cleanup (noexcept, unreachable)
...
%x formatting fixes
2015-12-20 15:41:07 +03:00
Jake
6f584049a2
rsx: NV3089_image_in: Fix braid and Jet Set Radio
2015-12-14 19:16:12 -06:00
Nekotekina
24128ba450
Optimization
2015-12-04 23:37:42 +03:00
Nekotekina
8a1ce6ba64
MINGW64 fix
2015-12-04 23:37:35 +03:00
Nekotekina
ca6783ba9a
Threads improved, ID manager improved
2015-12-04 23:37:34 +03:00
Jake
52be47ca89
rsx: Style changes
2015-12-02 07:06:40 -06:00
Jake
178bcfc8df
rsx: Improve NV3089_IMAGE_IN_SIZE and use faster loop for swizzle conversions
2015-12-02 04:22:18 -06:00
Vincent Lejeune
b9d8d9383a
rsx/d3d12: dump program content when capturing frame
2015-11-24 23:34:03 +01:00
Vincent Lejeune
b5add0f027
rsx: better naming for draw calls
2015-11-24 23:14:05 +01:00
Vincent Lejeune
e2d0a63b98
gl: Use factored scale offset function call
2015-11-15 22:52:39 +01:00
Vincent Lejeune
2ac47548b0
rsx: Set registers individually
...
Not all games set registers up to the third subcomponent. Fixes SH 3 HD
textures.
2015-11-15 17:20:43 +01:00
Vincent Lejeune
e9d9bad643
rsx: reset register after each flip
...
Some overlay operation are executed when a flip is requested, it may
change register states. Fix depth buffer in SH3
2015-11-15 17:20:20 +01:00
Vincent Lejeune
70b9271cd8
rsx/d3d12: Record frame buffer content per draw call.
2015-11-08 19:34:18 +01:00
Vincent Lejeune
2ad7051746
rsx/d3d12: Move vertex constants filling code to RSXThread
2015-11-06 20:08:41 +01:00
Vincent Lejeune
02ce78482c
rsx/d3d12: Move scale offset buffer setting to RSXThread
2015-11-06 20:08:17 +01:00
O1L
c0255208cc
Old ini-manager only partially used in VFS. Global configuration used as defualt.
2015-10-27 01:09:31 +04:00
Vincent Lejeune
a2997a1109
d3d12: Avoid an extra vertex copy
2015-10-15 17:13:43 +02:00
Nekotekina
ec0005195d
RSX fix
2015-10-14 22:51:27 +03:00
Nekotekina
a974ee009e
vm::var improved, cleanup
...
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
DH
a443682aaf
OpenGL renderer fixes
...
Fixed attributes loading
Fixed scale-offset matrix
Fixed attribute debug option
2015-10-14 14:34:55 +03:00
DH
37a3800597
rsx: 🧵 disable all vertex data at end command
...
Fixed OpenGL program attributes cache flush
2015-10-14 01:49:47 +03:00
DH
5de1ea3fd4
Fixed bind rsx method to range implementation
2015-10-13 22:59:25 +03:00
DH
07b3897499
Trying do not use macro for methods binding to range
2015-10-13 20:44:58 +03:00
DH
737080274a
Improved NV4097_BACK_END_WRITE_SEMAPHORE_RELEASE and NV4097_TEXTURE_READ_SEMAPHORE_RELEASE commands handling
2015-10-13 20:39:36 +03:00
Vincent Lejeune
ff01e26c5c
RSX: Fix immediate vertex values
2015-10-13 14:29:38 +02:00
Vincent Lejeune
fc40b0ed6b
RSX: Let backend customize semaphore_*_release
2015-10-13 14:28:58 +02:00
Vincent Lejeune
a63fdf6c45
Use files from master
...
- Drop smart vertex storage and use OpenGL's one instead.
2015-10-13 14:27:17 +02:00
Vincent Lejeune
4154a1026f
Rename RSXThread
2015-10-13 00:04:19 +02:00
Vincent Lejeune
b5127e68de
Remove m_ prefix
2015-10-13 00:04:18 +02:00
Vincent Lejeune
dd000caad7
Remove context_dma*
2015-10-13 00:04:18 +02:00
Vincent Lejeune
86fff9800f
Remove base offset
2015-10-13 00:04:16 +02:00
Vincent Lejeune
1e431edf09
Remove fragment program
2015-10-13 00:04:15 +02:00