Commit graph

485 commits

Author SHA1 Message Date
kd-11 3813c09be6 Properly handle inlined vertex data
Fix initial array offsets for dx12
2016-02-16 15:39:18 +03:00
kd-11 2230975e55 Speed up program constants upload by switching to glBufferSubData over glMapBuffer
Fix initialization for fragment constants buffer

Orphan buffers before update. Remove redundant binding
2016-02-15 12:53:55 +03:00
kd-11 ddf5b52360 Implement rectangle textures natively on OpenGL 2016-02-07 08:57:04 +03:00
kd-11 d3405da5c4 Fix LLVM build by changing variable to appropriate type 2016-02-05 18:57:57 +03:00
kd-11 137821c866 Move program validation from link-time to draw-time to compy with spec 2016-02-04 11:19:13 +03:00
kd-11 7b889a10cc Add vertex texture buffers for VS input
Support vertex instancing in vertex shader using VertexID

Relax OpenGL requirements by removing 4.5 features

Use EXT version of TexBufferRange; Implement buffer copy using TexBuffer

Apply travis workaround by danilaml

Fix vertex upload in in case of inlined array
2016-02-03 13:38:23 +03: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 149fa9d750 rsx/common: Make RSXFragmentProgram key and not just pointer. 2016-01-27 23:16:06 +01:00
Vincent Lejeune 3bd2114815 rsx-debug: Dump windows origin/pixel center. 2016-01-27 22:41:19 +01:00
Nekotekina 7417033d7f GLGSRender fix 2016-01-27 18:14:39 +03:00
Vincent Lejeune 24255f7883 rsx/common/d3d12/gl: Add some texture info to RSXFragmentProgram 2016-01-26 17:56:01 +01:00
Vincent Lejeune 4ce4cf5242 rsx: Add vertex input and output in RSXVertexProgram. 2016-01-22 01:24:54 +01:00
DHrpcs3 19ce0cdc09 rsx methods constants moved to rsx namespace
minor fix
2016-01-20 20:12:48 +03:00
DHrpcs3 7972cb5bdc Code style fixes #1 2016-01-20 16:23:25 +03:00
Vincent Lejeune 3b4339c8e0 rsx: Use enum class for surface related regs 2016-01-15 23:44:27 +01:00
Vincent Lejeune 69272edba6 gl: Fix warnings and enable trat warning as error. 2016-01-13 23:53:11 +01:00
Nekotekina 38531459df Logging system rewritten
GUI doesn't freeze anymore
Some things simplified
2016-01-13 18:54:57 +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
Vincent Lejeune bab52c132d rsx/common/d3d12/gl: Clean ProgramStateCache
Use a_b_c format.
Use using =
Use tuple as output
Use RAII to delete program safely
Ensure const correctness.
2016-01-11 19:21:57 +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 3ac9e0933f gl: fixed nv4097_clear_surface & front face selection
added window shader and clip plane constants to GCM.h
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 dbccf5fbad gl: fixed multiple textures binding 2016-01-06 13:30:23 +02:00
DHrpcs3 509bbddac1 OpenGL renderer: use pitch as image row length
Fixed rsx_utils code style
2016-01-06 13:30:23 +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
DHrpcs3 ae83ab5436 GLTexture excluded from GLGSRender and renamed to rsx::gl::texture 2015-12-21 04:14:56 +02:00
Nekotekina 321e6d3a86 fs::get_config_dir, fs::get_executable_dir 2015-12-20 15:41:06 +03:00
Vincent Lejeune 6221fecf3b common/d3d12/gl: Start implementing cubemap sampling 2015-12-16 20:36:34 +01:00
Nekotekina f3311bb5e5 GL render crash fix 2015-12-04 23:37:36 +03:00
Nekotekina ca6783ba9a Threads improved, ID manager improved 2015-12-04 23:37:34 +03:00
Jake 178bcfc8df rsx: Improve NV3089_IMAGE_IN_SIZE and use faster loop for swizzle conversions 2015-12-02 04:22:18 -06:00
Jake 8edf35a9e3 gl: remove incorrect/unneeded glenable enum 2015-12-02 04:22:16 -06:00
Vincent Lejeune 1e9d1c1dd9 gl: Uncomment viewport setting code 2015-11-29 18:22:53 +01:00
Vincent Lejeune 7a996648bb gl: Use fill_gragment_constans_buffer 2015-11-28 20:41:30 +01:00
Vincent Lejeune 5447521ce5 gl: Use uniform buffer for transform constants. 2015-11-19 20:26:14 +01:00
Vincent Lejeune e2d0a63b98 gl: Use factored scale offset function call 2015-11-15 22:52:39 +01:00
Nekotekina a4db58f5f2 Added fs::file_ptr, fom::rewrite, cleanup 2015-11-14 20:26:40 +03:00
O1L c0255208cc Old ini-manager only partially used in VFS. Global configuration used as defualt. 2015-10-27 01:09:31 +04: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 4a55ba3067 OpenGL renderer improvements
Flush program cache at thread exit
Use cached locations
2015-10-14 03:16:39 +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 737080274a Improved NV4097_BACK_END_WRITE_SEMAPHORE_RELEASE and NV4097_TEXTURE_READ_SEMAPHORE_RELEASE commands handling 2015-10-13 20:39:36 +03:00
DH e4f6eb04e8 Added new config system
Added emulator state class
Added emulator events
Minor improvements
2015-10-13 20:32:08 +03: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 dd000caad7 Remove context_dma* 2015-10-13 00:04:18 +02:00
Vincent Lejeune 1e431edf09 Remove fragment program 2015-10-13 00:04:15 +02:00
Vincent Lejeune 67f1f0fea3 Remove fragment constants 2015-10-13 00:04:15 +02:00
Vincent Lejeune beabc88f79 Remove transform constants 2015-10-13 00:04:14 +02:00
Vincent Lejeune e086b7a522 Remove cull/front face 2015-10-13 00:04:13 +02:00
Vincent Lejeune dd1afe85ae Remove alpha func 2015-10-13 00:04:13 +02:00
Vincent Lejeune 60bccf0f10 Remove RSXVertexArray 2015-10-13 00:04:12 +02:00
Vincent Lejeune 73535e0c04 remove m_surface* 2015-10-13 00:04:12 +02:00
Vincent Lejeune 537187687d Remove blend 2015-10-13 00:04:10 +02:00
Vincent Lejeune 403f585a19 Remove color mask 2015-10-13 00:04:10 +02:00
Vincent Lejeune 8dd19d1446 Remove color target 2015-10-13 00:04:09 +02:00
Vincent Lejeune 71552f7ffe Remove logic Op 2015-10-13 00:04:09 +02:00
Vincent Lejeune b2a7f0fd11 Remove stencil 2015-10-13 00:04:08 +02:00
Vincent Lejeune 529efd6ac8 Remove depth 2015-10-13 00:04:07 +02:00
Vincent Lejeune ed61023dd3 Remove clear_surface_color 2015-10-13 00:04:07 +02:00
Vincent Lejeune 28cdfa9feb Rename some methods. 2015-10-13 00:04:06 +02:00
Vincent Lejeune bf474f0cdb remove m_ for textures 2015-10-13 00:04:06 +02:00
Vincent Lejeune d27f6c8fa7 Use rsx::limits values 2015-10-13 00:04:05 +02:00
Vincent Lejeune 6f71d04aa4 move linear to swizzle and get_size_type
symbol undef though
2015-10-13 00:04:04 +02:00
Vincent Lejeune 3de47c201c RSX: Create a rsx namespace.
Put get_address inside.
2015-10-13 00:04:04 +02:00
Vincent Lejeune e3e5b46cbf Remove m_ prefix on some members of RSXThread 2015-10-13 00:04:03 +02:00
Vincent Lejeune ceab44b9ab d3d12: Remove D3DGSFrame 2015-10-13 00:04:02 +02:00
Vincent Lejeune 0138a95567 RSX: Remove using namespace ps3 in header 2015-10-13 00:04:02 +02:00
Vincent Lejeune f483c3b9ca Revert "Merge pull request #1245 from DHrpcs3/master"
This reverts commit 5feba39ff7, reversing
changes made to ebf28f8da0.
2015-10-09 20:04:20 +02:00
DH cc0c3fc98d Implemented fragment constants loading (OpenGL renderer)
Fixed nv308a::color
Minor improvements
2015-10-07 17:36:26 +03:00
DH 86720f90cd rsx:🧵 initialize flip_status
Fixed clear_surface (OpenGL)
Enabled some RSXDebugger features (disasm and textures/buffers view)
Minor improvements
2015-10-06 01:22:21 +03:00
DH 3721941ffb Fixed OpenGL renderer crash
Temporary downgraded OpenGL requirements to OpenGL 3.1 (GLSL 1.40)
Fixed some D3D12 Renderer compilation errors
2015-10-05 18:40:22 +03:00
DH 4fdeeace66 D3D12Renderer: fixed some compilation errors
Removed GSFrameBase2 and D3DGSFrame.
Added frame for NullRender.
Minor improvements and fixes
2015-10-05 13:03:23 +03:00
DH 1c890f85c5 OpenGL: do not align buffers 2015-10-05 12:56:05 +03:00
DH 6cd62a9fd0 OpenGL: fixed nv4097_clear_surface implementation
minor improvements
2015-10-05 12:56:05 +03:00
DH 1e7ded2163 rsx::thread moved from rsx2 branch
TODO: cellResc module & RsxDebugger disabled, DX12 renderer not compilable
2015-10-05 12:56:05 +03:00
Vincent Lejeune 62d7bf2159 Common: Move generic upload texture code from d3d12 2015-10-03 18:25:18 +02:00
Nekotekina 8ae3401ffa Some things improved
shared_mutex_t implemented
GUI Emu Callbacks rewritten
fxm::import, fxm::import_always implemented
cellMsgDialog rewritten
Emu.CallAfter improved (returns std::future)
2015-09-22 16:48:21 +03:00
Raul Tambre 8204737efa Implement GetLicenseArea, category improvements
Also fixed newlines, CellSailEvent, fixed CellMusic changes, fixed
console_write, fixed L10n changes and removed the login dialog for now,
until a more proper implementation.
2015-09-13 10:26:01 +03:00
Nekotekina 5e14310071 noexcept usage fixed
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina ce494f8847 fmt::by_value, fmt::Format removed 2015-08-24 21:22:42 +03:00
Nekotekina 73b108765e fs:: const renaming, fs::g_tls_error stub 2015-08-24 21:22:39 +03:00
Nekotekina 405d7cb70c Revert "RSX: Fix NV3089"
This reverts commit a86e44deb4.
Reasons: it's broken and not strictly related with d3d12 PR.
2015-08-16 18:37:20 +03:00
raven02 a86e44deb4 RSX: Fix NV3089
Make convert_swizzle.elf works
2015-08-12 00:26:50 +02:00
vlj ca90c05b0a gl : refix 2015-08-12 00:26:32 +02:00
vlj 744b56b12d gl: Fix texture unswizzling
Fix multi texture test
2015-08-12 00:26:32 +02:00
Nekotekina 8f9e1100c8 SPU fixes, various fixes 2015-07-10 04:31:25 +03:00
Nekotekina 6f1e76198a Some fixes 2015-07-10 04:31:18 +03:00
Nekotekina 3aefa2b4e1 ThreadBase rewritten (wip) 2015-07-10 04:31:16 +03:00
vlj f4efeabcf3 RSX: Rename and document function member. 2015-07-03 17:08:06 +02:00
vlj 5abeec85cc GL/RSX: Let backend call LoadVertex themselves. 2015-07-02 19:01:19 +02:00
vlj 288581cb43 RSX/GL/Null: Move semaphore handling to backend 2015-07-02 19:01:18 +02:00
raven02 e6df1ddcc0 Fix CELL_GCM_TEXTURE_CLAMP
It should be GL_CLAMP
2015-05-29 21:59:51 +08:00
vlj 2a7c65c019 GL: Use pipeline cache 2015-05-19 17:26:06 +02:00
Nekotekina 74b3580b69 rfile_t renamed 2015-04-25 00:38:11 +03:00
Nekotekina 56c64c8045 VFS::CreatePath fixed, bugfixes 2015-04-20 18:53:31 +03:00
Nekotekina ab405901ee wxFile removed (rFile -> rfile_t) 2015-04-19 16:19:24 +03:00
raven02 9954b36ec7 Fix intel HD graphics crash 2015-03-18 22:30:47 +08:00
raven02 9b41f846d6 Disable glDepthBoundsEXT for Intel HD graphics 2015-03-18 06:05:32 +08:00
Nekotekina 267de68441 Memory cleanup, page flags implemented
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Nekotekina 384cb5e415 RSX "refactoring" reverted 2015-01-31 16:01:34 +03:00
raven02 2c98a37512 Init: switch to version 420 layout (binding = 0) 2015-01-19 04:42:46 +08:00
DHrpcs3 482d470bf2 Small RSX fixes
- Fixed constants offset in FP decompiler.
- Fixed vertex textures initialization.
2015-01-18 12:51:30 +02:00
raven02 12edfeb216 RSX : last few cmd refactoring 2015-01-05 04:08:26 +08:00
raven02 d2e6f6fef0 RSX : few more cmd refactoring 2015-01-04 01:00:56 +08:00
raven02 fffadb975b RSX : inline fragment naming as vertex shader 2015-01-02 08:06:42 +08:00
raven02 8616d340bb RSX: create depth buffer only when required 2015-01-01 22:54:46 +08:00
raven02 a7ca705552 RSX: add alpha func/ref , depth func/mask and bug fix 2015-01-01 12:31:40 +08:00
raven02 3e3665a13b RSX: refactor glEnable cmd 2014-12-30 23:44:08 +08:00
raven02 1b87f9312b RSX : add ClearColor() / ClearStencil() / ClearDepth() / ClearSurface() 2014-12-30 03:37:58 +08:00
raven02 c76dd371f3 RSX: vertex data regression fix 2014-12-21 01:13:10 +08:00
raven02 3fc471eb32 RSX: shaders fix and vertex texture implementation 2014-12-17 22:01:59 +08:00
raven02 e27a1f98aa Fix missing break 2014-12-16 22:52:43 +08:00
DHrpcs3 d593e47554 RSX: Fixed NV4097_SET_VERTEX_DATA4UB_M, NV4097_SET_VERTEX_DATA2F_M & NV4097_SET_VERTEX_DATA4F_M implementation 2014-12-02 00:02:05 +02:00
raven02 cd347fa110 Minor fix 2014-11-18 14:44:37 +08:00
raven02 b13a8ab4e3 Small RSX fix 2014-10-06 21:39:25 +08:00
DHrpcs3 eada1fe12c Improved be_t
Fixed NV4097_SET_TWO_SIDE_LIGHT_EN
Added LIS, ORI, NOP & BLR to PPU Jit
2014-10-01 12:45:43 +03:00
Raul Tambre 879e2d920c Add cellAvconfExt and cellVideoOutGetScreenSize
Also added a flag to RSX debugger showing if two sided lighting is
enabled, a 3D Monitor option and fixed a ")" missing in TODO printout
for sys_spu_elf_get_information.
2014-09-28 18:21:45 +03:00
Nekotekina 0044141631 sys_process_is_spu_lock_line_reservation_address
Formatting changed a bit
2014-09-17 17:15:17 +04:00
Raul Tambre 88cc03b9e2 Implemented NV4097_SET_TWO_SIDE_LIGHT_EN 2014-09-11 18:59:42 +03:00
Nekotekina 12becc6120 MemoryBase::operator[] replaced 2014-09-06 02:12:10 +04:00
Nekotekina 225dba754d GetMemFromAddr, VirtualToRealAddr replaced
Some arg types changed
2014-09-05 21:23:00 +04:00
Nekotekina 61c4a88ab4 rFile.h, Thread.h, IdManager.h includes moved 2014-08-25 18:56:13 +04:00
Nekotekina 84c5899faf Abstract GSFrameBase class and callback 2014-08-25 02:23:26 +04:00
Nekotekina efa538f9d7 include clearing 2014-08-23 04:16:54 +04:00
Lioncash 538498f21f GLGSRender: Fix always false error condition 2014-08-19 02:48:11 -04:00
Alexandro Sánchez Bach b23a5f2312 RSXVertexData bugs fixed
* Some extra info on sys_rsx syscalls
* Code cleaned in GLGSRender.cpp
2014-08-18 16:37:23 +02:00
Alexandro Sánchez Bach bb1749d3da cellGcmSys changes and minor fixes 2014-08-17 11:22:36 +02:00
Alexandro Sánchez Bach b7be8b19ef Updates in sys_rsx and CellGcmDisplayInfo
Thanks a lot to @3141card for all the relevant information about RSX
related lv2 syscalls.
2014-08-16 23:45:56 +02:00
Alexandro Sánchez Bach f07c35d9ae Renamed Emu/GS -> Emu/RSX 2014-08-04 01:37:23 +02:00
Renamed from rpcs3/Emu/GS/GL/GLGSRender.cpp (Browse further)