Commit Graph

3178 Commits

Author SHA1 Message Date
Dr. Chat e4ece12371 BufferCache: Clear the transient cache when invalidated. 2017-03-14 19:07:28 -05:00
Dr. Chat 44e7c3712a Vulkan: Fix register constants on AMD 2017-03-14 00:50:49 -05:00
Dr. Chat 5f5dc61428 Vulkan CP / Render Cache: Proper synchronization barriers for transfer
Use an event rather than a semaphore for swap
Update some calculations in IssueCopy TextureInfo
2017-03-13 18:03:33 -05:00
Dr. Chat 0c2e0e4119 RenderCache: Update to register bitfield structs 2017-03-13 17:54:41 -05:00
Dr. Chat 3cae25f36f VdSwap: Supply more (accurate) information to the CP 2017-03-12 22:50:04 -05:00
gibbed e3552a0601 Temporary hack for swaps until better texture info building can be implemented. 2017-03-12 22:03:20 -05:00
gibbed 8dbf3d240b Make the previous commit slightly more performant. 2017-03-12 01:15:43 -06:00
gibbed 69b92c6c31 Maybe fix texture uploads where mipmaps are packed in linear textures. 2017-03-12 01:12:02 -06:00
Dr. Chat 284aa14a67 Update a few Xenos enums/structs 2017-03-12 01:05:34 -06:00
gibbed 5875b79cc4 Compressed textures apparently don't have to have a height multiple of 32 either. 2017-03-11 23:40:43 -06:00
gibbed c0ee30c6b4 Linear textures apparently don't have to have a height multiple of 32. 2017-03-11 22:56:17 -06:00
Dr. Chat f87e55d030 Textures: Untiled textures do not need to have a size multiple of 32 2017-03-11 20:58:12 -06:00
Dr. Chat c4b728b121 MMIO Handler: Don't allow more than one watch to occupy the same region (fire old watches if a new one overlaps) 2017-03-11 20:55:01 -06:00
Dr. Chat 257fbfc408 ELF Loader: Fix linux build 2017-03-07 12:33:18 -06:00
Dr. Chat 3046df2415 SPIR-V: Go to next instr if cexece did not execute and is not the last instruction. 2017-03-07 12:25:36 -06:00
Dr. Chat cbab45c4b7 Improve ELF loading 2017-03-06 17:59:19 -06:00
Dr. Chat b661aa17f9 SPIR-V: Handle conditional exece CF instructions 2017-03-06 15:39:40 -06:00
Dr. Chat 098d23c3d4 JIT - fctidz: Properly saturate 2017-03-06 01:06:32 -06:00
Dr. Chat d8ed251ad1 Tests: Handle integer floating point numbers 2017-03-06 01:04:59 -06:00
Dr. Chat 31766eaf8d JIT: oops 2017-03-05 18:06:39 -06:00
Dr. Chat d5e7bc8dca JIT - vctsxs: Properly saturate signed integers 2017-03-05 17:45:17 -06:00
Dr. Chat ea89a5d179 JIT - fctixx: Properly handle numbers > INT_MAX 2017-03-05 15:04:26 -06:00
Dr. Chat ad5748f3e7 Handle cases where the optional import header isn't present :P 2017-02-25 20:28:45 -06:00
Dr. Chat 2bd19478a4 Logger: Properly handle cases where strlen(formatted string) > capacity of log_format_buffer_ (as well as error cases) 2017-02-25 20:03:25 -06:00
Justin Moore ed56f7e96b Merge pull request #643 from inckie/local_fixes
* statics initialization order fix
2017-02-23 17:34:13 -06:00
Justin Moore 2070570307 Merge pull request #655 from inckie/bugfix_filetime
Make vfs::Entry time stamps consistent (as Windows FILETIME)
2017-02-23 16:58:01 -06:00
Ink fe3d31067f * proper FAT timestamp handling 2017-02-23 19:38:29 +03:00
Dr. Chat 76f6aa7c90 Xenos: Add a few bitfield registers to registers.h 2017-02-22 16:17:03 -06:00
tgsm 3dc8065a57 vfs: fix dead link 2017-02-21 22:26:18 -05:00
tgsm cd28fb9a0e vfs: fix typo in StfsContentType enum 2017-02-21 22:25:53 -05:00
Dr. Chat 2acee08590 Base bitfield class 2017-02-19 19:58:58 -06:00
Dr. Chat c08d4e862e PPC Testing: Don't discover . and .. 2017-02-18 00:43:45 -06:00
Dr. Chat f12d795a9f Linting fix 2017-02-17 23:38:21 -06:00
DrChat c62c4fe741 Vulkan: Properly invalidate resolve textures
Trace Writer memory caching
2017-02-17 18:59:08 -06:00
DrChat 070e7bf33d TraceDump: Support capturing Vulkan traces 2017-02-15 01:59:26 -06:00
DrChat 6bbd399cfd Fix queueFlags formatting 2017-02-13 17:13:24 -06:00
DrChat c8e618852b Vulkan Immediate Drawer: Fix uninitialized flags 2017-02-13 14:47:12 -06:00
DrChat 4a99b88650 Vulkan: Fill unused descriptor array elements with a dummy image (required by API) 2017-02-13 14:46:24 -06:00
Dr. Chat 75b34b83a6 Vulkan: Alias all input textures on the same binding 2017-02-13 13:35:53 -06:00
DrChat 60664d86fc Vulkan UI: Fix erroneously signaling image usage semaphore 2017-02-12 21:59:55 -06:00
DrChat c3b9d6acf8 Vulkan UI: Proper transitions for frontbuffer 2017-02-12 21:41:21 -06:00
DrChat 7a9c33fcfe Vulkan: Emit a warning if the physical device is unable to support texture cache requirements 2017-02-12 21:24:38 -06:00
DrChat ba8e315a69 Vulkan UI: Track if debug marker extension is enabled 2017-02-12 19:05:59 -06:00
DrChat 4ee16fd193 Vulkan UI: Fix invalid push constant usage in immediate.frag/vert (and update shaders) 2017-02-12 18:47:53 -06:00
Ink 8a1d72098f * statics initialization order fix 2017-02-12 17:13:42 +03:00
Dr. Chat a636b3cbcf Vulkan Swapchain: Fix a few API usage errors 2017-02-11 22:17:24 -06:00
DrChat 1c48b93ffd Vulkan: Fix misplaced break statements 2017-02-11 21:53:52 -06:00
DrChat 4a2ce960e9 Vulkan UI: More explicitly define order of copy commands vs. render commands 2017-02-11 21:30:16 -06:00
Justin Moore 591e581a70 Merge pull request #663 from resetnow/linux-build-fixes
Linux + clang build fixes
2017-02-11 20:32:33 -06:00
DrChat 6d4b06c08f Use stdout as logfile for tests 2017-02-11 00:15:52 -06:00
DrChat 26456280f1 Travis: print error log on command failure 2017-02-11 00:02:15 -06:00
DrChat d43e2c7ff8 xenia-cpu-ppc-tests is now building on linux 2017-02-10 23:54:10 -06:00
DrChat 11ae05155d Fix casting between XThread and Thread causing pointer misalignment 2017-02-10 23:35:35 -06:00
DrChat 1334656c6a xenia-cpu-ppc-tests: Adjust link order for clang 2017-02-07 18:15:30 -06:00
Vlad Ivanov bb9a26702d gpu: spirv_shader_translator: xb format changes 2017-02-07 21:24:06 +03:00
Vlad Ivanov d6bd1a9d21 gpu: trace_viewer: fix size_t format specifiers 2017-02-07 21:23:51 +03:00
Vlad Ivanov c74b84a18b gpu: spirv_shader_translator: fix a number of missing VertexFormat cases 2017-02-07 20:26:08 +03:00
Vlad Ivanov 091c196fc7 gpu: spirv_shader_translator: add missing cfloat include 2017-02-07 20:26:08 +03:00
Vlad Ivanov f0ba717142 Fix a bunch of missing cmath includes
...as well as missing std:: namespace specifiers
2017-02-07 20:26:08 +03:00
Dr. Chat 4c55039c22 Remove xenia-cpu dependency on xenia-kernel 2017-02-06 21:57:18 -06:00
Dr. Chat b66f10f2b8 Testing travis xenia powerpc testing 2017-02-06 00:40:06 -06:00
Dr. Chat 8947a7626e Linting fixes :) 2017-02-05 22:53:30 -06:00
Dr. Chat 803f0be049 Linux header fixes 2017-02-05 22:45:01 -06:00
Dr. Chat bf7f170825 Fix string_util.h include on linux 2017-02-05 22:01:50 -06:00
Dr. Chat 7fb31462e4 Logger: Use platform-agnostic aligned alloc 2017-02-05 20:39:46 -06:00
Dr. Chat 65ca7fc416 Lockless logging 2017-02-04 19:26:39 -06:00
Dr. Chat c538671c24 Kernel: Wrap new objects in object_ref to avoid a memory leak! 2017-02-03 20:57:08 -06:00
Dr. Chat 8c79051a94 Vulkan: Add basic one-frame cache to BufferCache 2017-01-29 00:24:31 -06:00
Dr. Chat d9b52d1afa GPU: Add a "low-power" state. 2017-01-28 20:59:41 -06:00
Dr. Chat a093fdcef8 XMA: Add an idle "low-power" state for the decoder. 2017-01-28 20:58:23 -06:00
Dr. Chat c5487371f9 Uh... Linting! 2017-01-28 14:12:30 -06:00
Dr. Chat 366eeeaa60 Vulkan TextureCache: Use a hashed and fenced pool for descriptors 2017-01-28 14:05:42 -06:00
Dr. Chat a16dc261da DescriptorPool fenced pool 2017-01-28 14:05:42 -06:00
Dr. Chat 90b0541d72 Vulkan CP: Code refactoring 2017-01-28 14:05:42 -06:00
Dr. Chat c416cbb61d Vulkan CP: Specify wait stage for swap sync 2017-01-28 14:05:42 -06:00
Dr. Chat 9135b6d9ac Vulkan: Support accessing only depth buffer via shaders 2017-01-28 14:05:42 -06:00
Dr. Chat ba74667190 Vulkan: Initialize RenderPassCreateInfo flags variable to 0. 2017-01-28 14:05:42 -06:00
Dr. Chat 16fc719b14 Vulkan: Passthrough unused point size/coord in geometry shaders 2017-01-28 14:05:42 -06:00
gibbed 1eb0048e54 When creating a window icon from the game's icon resource, scale it to default Windows size (fixes an issue where the icon would appear larger than it should in the Volume Mixer). 2017-01-21 05:51:34 -06:00
gibbed dece63e351 Return ERROR_PROC_NOT_FOUND, not ERROR_INVALID_ORDINAL, as failure from XexGetProcedureAddress. 2017-01-20 08:19:58 -06:00
gibbed 69cf40161e Added support for '?' to FS wildcard handling. 2017-01-19 18:13:07 -06:00
gibbed 17529b063f Spliced out the FS wildcard stuff. 2017-01-19 17:06:35 -06:00
maxton 57cbfc1167 Update xboxkrnl_modules to new convention 2017-01-16 17:11:24 -05:00
Dr. Chat 9f5abb02b7 Vulkan: Fix improper subpass dependency when using the MAY_ALIAS bit 2017-01-14 18:04:05 -06:00
Dr. Chat 06588f8703 Fix xe::CreateParentFolder improperly handling separators on Windows 2017-01-14 15:19:43 -06:00
gibbed a95de67b8c 1D textures. Maybe. 2017-01-10 00:04:41 -06:00
gibbed cec8932605 Log lpwstring_t contents. 2017-01-09 23:57:47 -06:00
gibbed 13dd23a8a9 Stubbed out some default (error) logic to NetDll_XNetDnsLookup. 2017-01-09 23:50:51 -06:00
gibbed 89de63b34c Fixed NetDll_XNetDnsLookup signature. 2017-01-09 23:04:30 -06:00
gibbed 2da97c1e6f Moved XamContentCreate and XamContentCreateEx to the new export convention. 2017-01-09 17:12:30 -06:00
gibbed d17d02f606 Log lpstring_t contents. 2017-01-09 17:11:17 -06:00
gibbed ac7dce758b Fixed xe::filesystem::DeleteFolder on Windows. Should fix some issues where games tried to overwrite existing content such as saves and was failing. 2017-01-09 17:05:05 -06:00
gibbed 61cb3093ce Updated NetDll_select for new export convention. 2017-01-09 08:45:51 -06:00
gibbed 5cbb542fa3 Better (and portable) fd_set handling for NetDll_select, and properly tracks guest handles as well. 2017-01-09 08:00:42 -06:00
gibbed d43af82889 Oops. Code merge screwup. 2017-01-09 07:00:31 -06:00
gibbed 2e8c34377f Implemented NetDll_shutdown.
De-borked LoadFdset/StoreFdset in regards to handling of correct counts
and invalid sockets.
2017-01-09 06:58:15 -06:00
gibbed f3ed9ab91b Shut lint up on Linux. 2017-01-09 06:00:16 -06:00
gibbed cf4d780c8b Cleanup of XBOXKRNL XMA exports. 2017-01-09 04:53:44 -06:00
gibbed d730784efb Added XBDM stubs. 2017-01-09 04:51:55 -06:00
Justin Moore 4ed0068da8 Merge pull request #654 from ObsidianGuardian/master
Added keyboard support for trigger and shoulder buttons
2017-01-09 02:37:46 -06:00
ObsidianGuardian bfd512ae1f Added keyboard support for triggers and shoulder buttons 2017-01-09 08:22:29 +01:00
Ink 0d8a81137c * make vfs::Entry time stamps consistent (as Windows FILETIME) 2017-01-06 04:17:04 +03:00
maxton cc0adb95f1 Add word pointer type 2016-12-20 18:22:41 -05:00
maxton 345b070379 Update kernel convention for xboxkrnl_ob.cc 2016-12-20 15:27:21 -05:00
maxton 7f453a2041 Update kernel convention for xboxkrnl_rtl.cc 2016-12-20 14:49:32 -05:00
PikminGuts92 9a8005e6fd Added flag for fullscreen toggle. 2016-12-06 14:35:49 -05:00
PikminGuts92 682357519c Made ToggleFullscreen function public. 2016-12-06 12:31:36 -05:00
maxton 57d4c6fa9b Update kernel convention for xboxkrnl_io.cc
Fix linting error

Update kernel convention for xboxkrnl_io.cc
2016-12-01 10:41:54 -05:00
Dr. Chat 57c3addd09 Dump guest crash details into the log 2016-11-30 22:54:58 -06:00
Dr. Chat f6ac79ea07 XSocket Implementation 2016-11-28 22:10:19 -06:00
maxton d307d83dc0 Update convention for xboxkrnl_audio.cc (squashed commits) 2016-11-25 20:48:17 -05:00
Dr. Chat 7b6af84640 Whoops 2016-11-23 12:34:56 -06:00
Dr. Chat 7a0a36cf00 RtlUpperChar / RtlLowerChar 2016-11-23 12:19:37 -06:00
Dr. Chat a88c78eba3 Allow the kernel dispatch thread to be suspended after being initialized 2016-11-23 11:56:57 -06:00
Dr. Chat d5010fb947 Win32 UI loop: allow recursion 2016-11-23 11:53:35 -06:00
Dr. Chat 222a9721aa Add a File->Close option 2016-11-23 11:00:10 -06:00
Dr. Chat ca54f9f212 SPIR-V: Whoops, flip the store operands around correctly 2016-11-22 21:36:39 -06:00
Dr. Chat 8d476fc845 Update the Vulkan loader to the latest version 2016-11-22 21:29:18 -06:00
Leighton Hancock 524ba0c88c Add file drop functionality
Adds the ability to drag and drop files from windows in order to attempt
to execute them
2016-11-14 16:50:58 +13:00
Dan Weatherford 6f6e638f2f [vulkan] Point list rendering improvements
Implement register and vertex-shader-written point size. Fix point size
computation in geometry shader (convert pixel size to NDC scale using
viewport size). Fix point sprite coordinate generation.
2016-11-12 18:03:03 -06:00
Dan Weatherford c1db89b4dd Eliminate double lock of Vulkan queue mutex 2016-11-11 23:07:49 -06:00
Dr. Chat 02a0d11326 SPIR-V: GetWeights2D/1D as well as (possibly) proper fetch offsets 2016-11-11 17:52:15 -06:00
Dr. Chat 691c3d1021 EXTRACT_I32: Support constant src1 2016-11-11 16:50:42 -06:00
Dr. Chat 1afb899b7d Also track batch fences in the CP properly 2016-11-08 19:41:35 -06:00
Dr. Chat 48f6ba747c Track batch fences with the batches. 2016-11-08 18:11:12 -06:00
Dr. Chat 391b6e9bb7 Vulkan: Include the blit shaders too! 2016-11-04 19:21:46 -05:00
Dr. Chat fe2c887c34 Math tzcnt 2016-11-04 19:17:12 -05:00
Dr. Chat e46a0c50fd Vulkan: WIP Blitter 2016-11-04 19:10:24 -05:00
Dr. Chat 4fe6eba972 X_HRESULT_FROM_WIN32 macro 2016-11-04 19:06:43 -05:00
Dr. Chat a148b965f1 KernelState should handle module launching 2016-10-24 11:01:10 -05:00
Dr. Chat 69be82c786 Attempt at synchronizing swap image writes between the main window and graphics backend.
Disabled for now due to device timeouts.
2016-10-21 19:44:11 -05:00
Dr. Chat 26d81abf52 IssueDraw failing in the backend does not mean we need to stop processing commands 2016-10-21 18:14:24 -05:00
Dr. Chat f5995474b1 Write the title ID to savestates - and disallow loading savestates from a different title for the moment. 2016-09-28 18:33:25 -05:00
DrChat bc0ddbb05a Fix UI thread not waking up from input 2016-09-11 21:26:35 -05:00
Dr. Chat 9457c63a64 SPIR-V: Handle conversion of integer vertex input 2016-09-07 11:13:53 -05:00
Dr. Chat 1757411aa8 Label blocks following jump statements for now. 2016-09-05 22:19:56 -05:00
Dr. Chat 300d1c57ba SPIR-V: Rewrite basic control-flow to use a while loop paired with a switch statement 2016-09-05 16:57:02 -05:00
Dr. Chat 52c75c8dbc x64 backend: Pass guest return address as first argument to guest functions. 2016-08-26 13:46:21 -05:00
Dr. Chat 7683069f6c Set context/membase registers to rsi/rdi respectively.
Use offsetof for the backend thunks.
2016-08-26 11:00:42 -05:00
Dr. Chat fbedb915b6 Move definition of XEPACKEDSTRUCT to platform.h 2016-08-22 17:23:50 -05:00
Dr. Chat 5f4416ee2f x64 backend: Save nonvolatile XMM registers on host -> guest transitions
Define the context and membase registers in the x64 emitter.
2016-08-22 14:55:16 -05:00
Dr. Chat e3fdb08ad7 x64 JIT: Allocate constant data outside of the guest heap. 2016-08-18 18:26:55 -05:00
Dr. Chat 784e6a7593 RenderCache: Include a subpass self-dependency due to aliased attachments 2016-08-16 13:11:25 -05:00
Dr. Chat abf162c0e3 Wake the WIN32 loop from all input 2016-08-09 10:45:00 -05:00
Dr. Chat 976a317293 Whoops - a default cursor is kind of important. 2016-08-06 18:16:39 -05:00
Dr. Chat 9b86132fd0 Rewrite XIOCompletion::WaitForNotification 2016-08-06 18:14:26 -05:00
Dr. Chat 1de47e0d17 UI: Hide the cursor after 3 seconds in fullscreen-mode. 2016-08-06 17:00:12 -05:00
Dr. Chat 1a5d4b99fc Add a dependency on xenia-gpu-null in xenia-app 2016-08-04 15:17:04 -05:00
Dr. Chat 04afa31c9c Be linted, you. 2016-08-04 15:15:23 -05:00
Dr. Chat 40f782a83b Add a null graphics system (enable with --gpu=null)
Still uses vulkan to drive xenia UI, may look into decoupling later.
2016-08-04 09:50:13 -05:00
Dr. Chat 92859f5a28 Protect the first 64kb of virtual memory with no access permissions by default. 2016-08-03 18:46:15 -05:00
Dr. Chat 83f7cc27d1 Fixed a deadlock caused by the UI thread dropping important messages 2016-08-03 18:00:32 -05:00
Dr. Chat a7e4bc8f49 Applying graceful linting. 2016-08-01 16:36:41 -05:00
Dr. Chat 99090e0a22 CircularBuffer: Allow users to bind their own memory to our buffer. 2016-08-01 16:30:28 -05:00
Dr. Chat 22794902f3 CNTLZ: Invert the result using xor rather than subtraction 2016-08-01 13:25:44 -05:00
Dr. Chat ff57d79793 TextureCache: Flush uploads if the staging buffer overflows in a frame. 2016-08-01 13:25:44 -05:00
Justin Moore 4577303245 Merge pull request #604 from x1nixmzeng/detect-xna
Find correct launch module for XNA-based games
2016-08-01 10:53:52 -05:00
x1nixmzeng 5be1a24f7a Clang formatting 2016-07-30 15:00:51 +01:00
Dr. Chat cd5d3fae9c Whoops - fix a few compilation errors 2016-07-29 13:42:56 -05:00
Dr. Chat a547c79b51 SPIR-V: Use gl_VertexIndex rather than gl_VertexID
Rewrite bits of LoadFromOperand/StoreToResult
2016-07-29 11:28:19 -05:00
Dr. Chat 72d83591e5 Vulkan: Synchronize copies/draws to the swap chain.
Grab RenderDoc after creating the Vulkan instance
2016-07-29 10:34:54 -05:00
Dr. Chat f81a99e83a XMA: Use a threadsafe bitmap to acquire/release contexts
Support Pausing/Resuming
2016-07-28 21:11:12 -05:00
Dr. Chat 69bb6aacef Swap to using the Vulkan renderer by default
This will break a lot of games and fix others, but it makes more sense to use a backend being actively worked on.
2016-07-28 19:33:05 -05:00
Dr. Chat 54ba3480e4 xboxkrnl: NtAllocateVirtualMemory - Align the base address to a page boundary rather than returning an error code.
Return ACCESS_DENIED if the user requests e.g. a 64k page in a 4k region.
2016-07-28 16:56:05 -05:00
Dr. Chat 6af8546c49 Vulkan: Remove unused gl_ClipDistance from shaders 2016-07-28 12:02:49 -05:00
Dr. Chat 99689176bc Vulkan: Fix a few validation errors 2016-07-28 00:15:23 -05:00
Dr. Chat 87c915e54d Vulkan: Re-enable the validation layers properly. 2016-07-27 23:59:25 -05:00
Dr. Chat 19c7edddca PipelineCache: _FLOAT means use vk _SFLOAT, not _*SCALED! 2016-07-25 12:06:50 -05:00
Dr. Chat a72f1d949f Constant propagation for vector SGT/UGE/UGT
Constant rounding (and fixed vec128 rounding only doing x)
2016-07-25 11:57:14 -05:00
Dr. Chat 91be5f979e Use a dummy pixel shader on depth-only mode 2016-07-24 15:38:00 -05:00
Dr. Chat b478408dfb PipelineCache: Better stencil support, and allow null pixel shaders. 2016-07-24 15:36:41 -05:00
Dr. Chat a065120793 Fix crash in CPU debugger. Thanks @x1nixmzeng 2016-07-24 10:47:14 -05:00
Dr. Chat 9e646085f0 SPIR-V: Rudimentary support of tfetch offsets, fix scalar operand loads 2016-07-24 10:16:44 -05:00
Dr. Chat 99d2b2fb55 Trace Viewer: Add stencil information and color/depth format translations 2016-07-23 22:23:25 -05:00
Dr. Chat 8427acfada Use vpminud to saturate rather than bitwise ops (shaves 6 instructions per 16 in 32 saturated pack) 2016-07-23 19:19:40 -05:00
x1nixmzeng 6cc3440086 Find correct launch module for XNA-based games
Added utility to parse game information and updated launch logic to use
it
2016-07-23 18:27:13 +01:00
Dr. Chat 2d55b12cc9 Fix a race condition in x64 code cache involving RtlGrowFunctionTable 2016-07-19 13:59:40 -05:00
Dr. Chat 18ff97e6b6 OPCODE_IS_NAN 2016-07-11 20:44:12 -05:00
Dr. Chat fb87b7a3c3 xboxkrnl: Add a bunch of crypto functions 2016-07-11 10:35:31 -05:00
Dr. Chat 3d1d4dea47 OPCODE_DOT_PRODUCT_4 constant propagation 2016-06-28 19:39:22 -05:00
Dr. Chat abdf071c7d SPIR-V: Smear one-component scalars 2016-06-28 11:43:03 -05:00
Dr. Chat 14a6fd838a SPIR-V: Fix a few improper usages of pointers
Change StoreToResult conversion
2016-06-28 09:18:08 -05:00
Dr. Chat 753911146b Update spirv-tools and add spirv-headers 2016-06-27 20:37:20 -05:00
Dr. Chat 9abfc52b77 Don't store xam launch data in guest memory. 2016-06-27 13:46:08 -05:00
Dr. Chat 75908a9865 SPIR-V: Fix a couple of errors in translation 2016-06-27 11:08:45 -05:00
Dr. Chat f2ad6b8cb8 OPCODE_RECIP 2016-06-26 13:03:42 -05:00
Dr. Chat 212cd6ee3d GPU: Log a warning on writes to unknown registers. 2016-06-25 10:32:48 -05:00
Dr. Chat b31705c543 Registers 0x5000-0x5002 2016-06-25 10:26:39 -05:00
Dr. Chat 70b2d09834 PA_CL_UCP_* registers 2016-06-24 14:44:51 -05:00
Dr. Chat ab4245c6af VGT_INDX_OFFSET actually means index/vertex offset
Fixup depth resolves
2016-06-24 14:35:24 -05:00
Dr. Chat 036df2ce12 SPIR-V: Remove GenericPointer capability requirement 2016-06-24 07:48:02 -05:00
Dr. Chat 35d8bfeb82 Merge branch 'dump' of git://github.com/sephiroth99/xenia into seph-dump 2016-06-23 17:58:02 -05:00
Dr. Chat 076c73be9a SPIR-V: GetTextureWeights and Cube op 2016-06-22 19:34:05 -05:00
gibbed 4aaca8cbf3 Fixed copying junk data into initialized XEX memory when XEX is unencrypted. 2016-06-22 15:53:07 -05:00
sephiroth99 7bf2f23bef Dump shaders in binary mode
Use binary mode when writing shaders to file, so that 0x0a is not
considered a LF and then converted to CRLF.
2016-06-21 23:05:19 -04:00
gibbed e95a08fc87 Better unreserved physical page counting. 2016-06-21 10:10:47 -05:00
gibbed 16a15bab98 Exposed total page count. 2016-06-21 10:10:08 -05:00
gibbed d07e16b056 I'm bad. 2016-06-21 10:09:45 -05:00
gibbed 32e0ef397c Attempt at reporting something of an 'accurate' unreserved physical page
count. Still needs work.
2016-06-21 09:37:21 -05:00
gibbed 0e1c91681d Some winkey support for left/right triggers. 2016-06-20 17:53:26 -05:00
gibbed e7f5d3e7d4 Set length in overlapped completion to -1 when not success. 2016-06-20 17:13:31 -05:00
gibbed 8d00abe10f 'Unsetting' the title specific user settings. Fixes UnrealEngine-based games try to decompress 3000 null bytes and end up barfing all over the stack instead. 2016-06-20 15:45:12 -05:00
gibbed afda577484 Adjusted user profile settings so that we can know about settings, but have their data unset. 2016-06-20 15:44:11 -05:00
gibbed 8965fda402 RSqrt for VEC128_TYPE. 2016-06-20 13:31:11 -05:00
gibbed 53e37c3167 Constant propogation for DOT_PRODUCT_3. 2016-06-20 13:30:19 -05:00
gibbed dd18112905 Assert the CPU index on set. 2016-06-20 12:53:07 -05:00
gibbed 27610989a2 Fixed fake CPU handling. 2016-06-20 12:52:36 -05:00
gibbed 6a082c42d3 Fixed top-down memory allocations when alignment > page size. 2016-06-20 12:02:48 -05:00
gibbed 919d84ad73 Fixed ToXdkProtectFlags returning bad protection flags when
nocache/writecombine were present.
2016-06-20 11:27:53 -05:00
Dr. Chat 6729ec182b These clears are redundant. 2016-06-19 21:32:31 -05:00
Dr. Chat f194d261b1 TextureCache: Speed up descriptor writes (no more vector usage)
WIP TextureCube uploading skeleton
2016-06-19 21:27:30 -05:00
gibbed 450ca87120 Added comparison operator for --break_on_instruction. 2016-06-19 21:01:18 -05:00
gibbed b5bef8c54d Undoing the previous commit in favor of finding a better solution (xmm1/xmm2 can't safely be used here). 2016-06-19 02:33:52 -05:00
gibbed d04a6cc983 Added support for when both src1 and src2 are constants in EmitCommutativeBinaryXmmOp and EmitAssociativeBinaryXmmOp. 2016-06-19 02:10:40 -05:00
Dr. Chat 807c030f86 Add title request functions to Emulator 2016-06-18 21:17:37 -05:00
Dr. Chat 6bd19518eb GL4: Fix incorrectly calculating the base offset for IssueCopy 2016-06-18 21:16:10 -05:00
Dr. Chat 0c69e05eb1 Handle load requests made by the guest 2016-06-18 21:00:01 -05:00
Dr. Chat 23b2e25fb8 XThread: Don't release ourselves before calling thread_->Terminate! 2016-06-18 20:58:58 -05:00
Dr. Chat b82f6a990a Core: Add a file open dialog and refactor logic around loading new games 2016-06-18 20:42:28 -05:00
gibbed dcd71c1613 Fixing format_core for %hc/%hC/%wc/%wC/%hs/%hS/%ls/%lS/%ws/%wS type specifiers. 2016-06-18 19:24:49 -05:00
gibbed 85e38b7657 Invalidate physical memory passed to NtReadFile. 2016-06-18 18:26:23 -05:00
gibbed 23b72e4888 Complain loudly when ReadFile() returns ERROR_NOACCESS. 2016-06-18 18:26:23 -05:00
Nukem d5dd96d626 Invalid iterator in control_flow_simplification_pass 2016-06-18 16:34:46 -04:00
gibbed 096febb3bb Oops. Unbreaking shim_utils.h. 2016-06-18 14:02:38 -05:00
gibbed 4fc3bdf213 Fixed AppendParam for X_EX_TITLE_TERMINATE_REGISTRATION,
X_EXCEPTION_RECORD.
Added AppendParam for X_OBJECT_ATTRIBUTES.
2016-06-18 13:44:52 -05:00
gibbed 2d60d6f672 Split out trampoline generation to make it reusable. 2016-06-18 13:41:49 -05:00
gibbed 8ea9aea84c Actually there's yet one more argument to VdInitializeScalerCommandBuffer. 2016-06-18 08:16:49 -05:00
gibbed 890a0513ef Tagged NtSetInformationFile as high frequency. 2016-06-18 08:03:19 -05:00
gibbed f39eb9f047 Tagged NtReadFile as high frequency. 2016-06-18 08:02:18 -05:00
gibbed 9477cef006 Corrected offset in comment for X_DISPLAY_INFO. 2016-06-18 08:00:41 -05:00
gibbed b12579c64c Fixed arguments to VdInitializeScalerCommandBuffer. 2016-06-18 08:00:09 -05:00
Dr. Chat d526d2febf GPU: In auto-indexed draws, VGT_INDX_OFFSET appears to be reused as a vertex offset. 2016-06-17 20:19:38 -05:00
Dr. Chat 2e34a98cef Update the vulkan loader and headers. 2016-06-17 19:32:21 -05:00
Dr. Chat 27c16b1936 GPU: Fix incorrectly calculating the primary ringbuffer's size 2016-06-16 21:30:06 -05:00
Dr. Chat af870999fa SPIR-V: Clear shader interface IDs between invocations. 2016-06-13 18:15:59 -05:00
Dr. Chat 5937e603d7 SPIR-V: Fix vec4 Dst 2016-06-13 15:29:07 -05:00
Dr. Chat d5865740e2 Add a few more vector tests 2016-06-12 21:45:51 -05:00
Dr. Chat 0ef16b10e2 Constant Propagation for OPCODE_VECTOR_ADD 2016-06-12 21:41:02 -05:00
Dr. Chat 7ef7cc39f5 SPIR-V: Declare all inputs/outputs in OpEntryPoint 2016-06-12 11:18:00 -05:00
Dr. Chat 841f6fe239 Merge branch 'vulkan' 2016-06-11 19:23:23 -05:00
Dr. Chat 323b993bbc Revert the default graphics backend to GL4 (in preparation of merge to master) 2016-06-11 19:13:45 -05:00
Dr. Chat 32011a841e Formatting. 2016-06-05 17:48:06 -05:00
Dr. Chat b01903ccc7 Set basePipelineIndex to -1 instead of 0 to indicate invalid. 2016-06-05 12:55:19 -05:00
Dr. Chat 6f5f3534c4 Rebuild shaders with the latest compiler 2016-06-04 15:17:31 -05:00
Dr. Chat 254acf2a67 RenderCache: Hardcode surface height to 2560
Fix a couple of other things
2016-06-03 20:01:49 -05:00
Dr. Chat 2a924d2b05 Pass vertex buffer endianness into the BufferCache
IssueCopy: Actually issue the pipeline barrier to transition the image
2016-06-03 20:00:28 -05:00
Haydn Trigg ff5529714c clang-format to Google Standards
Added formatting to code
2016-05-29 13:22:14 +09:30
Dr. Chat fd37112db8 VK Immediate Drawer: Properly transition texture layouts
Support wrapping of textures not created here
2016-05-28 10:26:40 -05:00
Dr. Chat f8d9472872 TextureCache: Fix trying to erase a resolve texture that isn't in the resolve textures list. 2016-05-26 14:46:18 -05:00
Dr. Chat c85756981b TextureCache: Fix a few null pointer bugs
Ordering of in-flight descriptor sets
Change staging buffer size
Free all samplers on exit
2016-05-25 19:55:50 -05:00
Dr. Chat 8611417219 Initialize rasterDiscardEnable to VK_FALSE 2016-05-25 17:45:38 -05:00
Dr. Chat 008167fa66 VK: Enable full rotation / Set render_state to nullptr on failure / Fix format info in texture resolves 2016-05-25 13:49:36 -05:00
Dr. Chat a187a4931a Whoops - fix setting the wrong host base for some graphics allocations. 2016-05-25 13:14:03 -05:00
Dr. Chat 9d1e66ab16 Don't write to color targets in depth-only mode. 2016-05-24 21:58:02 -05:00
Dr. Chat ad83a1994d VK: Remove alphaToOne feature requirement 2016-05-24 12:53:25 -05:00
Dr. Chat 5f764730ae Vulkan CP: Override frame traces if renderdoc is attached 2016-05-23 13:16:13 -05:00
Dr. Chat 729152a58b VK: Enable independentBlend feature 2016-05-23 09:59:37 -05:00
Dr. Chat 6e21d88250 Fixup circular buffers for full rotation 2016-05-23 09:58:46 -05:00
Dr. Chat c6e905db2f Fix a memory leak in fenced pools. 2016-05-22 22:14:45 -05:00
Dr. Chat 7004f83665 CP: Don't check for shader validity here
Fix a lousy typo in PrepareTextureSet
2016-05-22 20:08:35 -05:00
Dr. Chat bd27835a3d Pipeline Cache: Translate shaders when program cntl register is available 2016-05-22 20:03:13 -05:00
Dr. Chat d1b4d61b52 SPIR-V: Use the register count from the program control register
Workaround for broken OpBitFieldUExtract on NVIDIA drivers
kRcpc/kRcpf/kRsqc/kRsqf
Fix broken ps_ usage
2016-05-22 20:01:42 -05:00
Dr. Chat d94ff6eb25 Shaders: Track the register count from the program control register (if available) 2016-05-22 19:58:50 -05:00
Dr. Chat 1faf5a813a Fix ALU scalar swizzles (Possibly) 2016-05-22 19:57:05 -05:00
Dr. Chat b025790207 Disable Vulkan native MSAA by default for now. 2016-05-17 05:58:52 -05:00
Haydn Trigg f2ca689ea0 Expanded vec128 and VectorSub
Added double precision (f64) values to the vec128 structure
Added cases for all formats of data for vector subtraction in the
Value::VectorSub function

NOTE: Unsure what the saturate function is for however maintained
original functionality
2016-05-17 05:34:09 +09:30
Dr. Chat b9a40d1a00 Use Vulkan as the default graphics backend. 2016-05-15 12:08:29 -05:00
Dr. Chat 2bb52ef86b SPIR-V: WIP shader compiler / optimizations / alpha test implementation 2016-05-15 12:01:38 -05:00
Dr. Chat c06a7cdf81 BaseFencedPool::has_open_batch (and other uncommitted changes) 2016-05-07 19:17:56 -05:00
Dr. Chat 79f1193130 Vulkan CP: Fix calculating an invalid copy destination base address when sizeof(texel) != 4 2016-05-06 00:12:47 -05:00
Dr. Chat 7c5042add7 Vulkan CP: Add in separate swap-chain images
Some other changes I can't remember
2016-05-03 14:12:05 -05:00
Dr. Chat f2af28c322 TextureCache: Fix up some synchronization flaws (deleting in-use textures/etc)
Fix texture binding IDs not matching fetch instruction IDs.
Fix some bad texture format matching.
Add access watches
2016-05-03 14:10:15 -05:00
Dr. Chat 8e8df2e778 PipelineCache: Support shader disasm dumps for nvidia cards.
Fix MSAA 2X multiplier.
2016-05-03 14:07:20 -05:00
Dr. Chat d18c99aab6 RenderCache: Account for MSAA when calculating tile sizes.
Add a new flag to enable native MSAA (this does not work properly at the moment)
2016-05-03 14:05:34 -05:00
Dr. Chat aa038fbf23 Skip the wrapping packet end after parsing IB end (to avoid false draws appearing) 2016-05-01 15:48:31 -05:00
Dr. Chat 720f8b0dc2 GL4: Track the internal format of render targets and match them based on that. 2016-05-01 11:23:54 -05:00
Dr. Chat cbccc785cc TraceViewer: Build a tree of all command buffers and display that instead of a flat list. 2016-05-01 10:15:33 -05:00
Dr. Chat 6101b70641 Fix the Vulkan immediate drawer not drawing lines. 2016-04-29 13:09:39 -05:00
Dr. Chat 9b2e2a7275 SPIR-V: Hack in OpSelectionMerge as hints to NVidia's shader compiler (TODO: Make a Shader Compiler) 2016-04-13 23:17:03 -05:00
Dr. Chat 2bd603bf18 CircularBuffer: use std::list for allocations instead of a vector. 2016-04-09 21:40:18 -05:00
Dr. Chat 4811ebc2ce BufferCache: Use a CircularBuffer as the transient buffer. 2016-04-09 21:27:32 -05:00
Dr. Chat b7f2c93d73 SPIR-V: Batch predicated instructions together into a single block.
Add Post-Translation validation.
Fix a couple of type-related typos.
2016-04-09 21:03:44 -05:00
Dr. Chat a1c9540063 SPIR-V Validator util class 2016-04-09 18:35:00 -05:00
Dr. Chat 3726064af5 Can't use CmdCopyBufferToImage or vice versa for depth and stencil. 2016-04-01 22:03:29 -05:00
Dr. Chat f9a634ad25 CircularBuffer remove Discard functionality and allow rotation 2016-04-01 21:53:46 -05:00
Dr. Chat 50f72b4e42 Enable native MSAA
Copy back EDRAM buffers in order by base offset.
2016-04-01 21:52:39 -05:00
Dr. Chat 2eca3ce9e6 Texture uploads/basic formats
Fixed swizzle one/zero mismatch
Sampler setup
Remove samplers from the descriptor set layout
2016-04-01 21:51:17 -05:00
Dr. Chat 1ea72c5e06 FencedPool::CancelBatch 2016-04-01 21:49:58 -05:00
Dr. Chat 44cffab389 SPIR-V Max4 2016-03-25 18:23:45 -05:00
Dr. Chat fc1bd0f379 Fix texture uploads 2016-03-25 17:29:39 -05:00
Dr. Chat 692d666d57 Wipe the buffer cache in ClearCache for now. 2016-03-25 16:50:06 -05:00
Dr. Chat 0e44cda961 Update the rectangle list shader 2016-03-25 16:49:41 -05:00
Dr. Chat d7599c817f Formatting. 2016-03-25 16:44:25 -05:00
Dr. Chat a5a31cf123 VulkanShader::Prepare - return false if vkCreateShaderModule failed. 2016-03-25 16:37:24 -05:00
Dr. Chat 2bb40c122d Vulkan util Fence class 2016-03-25 16:36:21 -05:00
Dr. Chat f75e5fec24 CP: Use a single command buffer for every frame, reuse render passes/pipelines if not dirty
Hook up resolves and swaps
2016-03-25 16:35:34 -05:00
Dr. Chat 1e1da1eb6c PipelineCache::ConfigurePipeline - Inform the caller if the pipeline is dirty or they can reuse the previously bound pipeline.
Make SetDynamicState public.
2016-03-25 16:34:14 -05:00
Dr. Chat b2457d7e72 Basic texture uploads/address lookups/etc
Freeing of descriptor sets when the GPU is finished with them.
2016-03-25 16:32:29 -05:00
Dr. Chat 0e41774e36 RenderCache::dirty() - used to tell if we need to begin a new pass
Round all pixel pitch/heights up before dividing.
2016-03-25 16:31:12 -05:00
Dr. Chat 181b2af5a4 Vulkan Circular Buffer 2016-03-25 13:49:07 -05:00
Dr. Chat e72e283e79 Primitive type makes rasterization state dirty too! 2016-03-23 16:20:06 -05:00
Dr. Chat 7b962e59a4 SPIR-V Dst
Fix a few bugs in the translator
2016-03-20 14:21:55 -05:00
Dr. Chat 38b94dd9e2 Add in Xenos events 2016-03-17 21:58:23 -05:00
Dr. Chat 2512a6360e Pass the physical frontbuffer address into the CP 2016-03-17 21:55:47 -05:00
Dr. Chat 0e3c113375 Physical write watches -> access watches (read and/or write watching) 2016-03-17 21:55:16 -05:00
Dr. Chat 1831e7a936 Pipeline stencil state 2016-03-16 14:45:40 -05:00
Dr. Chat 54f89825d9 SPIR-V Dp2Add/Dp3 2016-03-15 00:30:39 -05:00
Dr. Chat 245102e9e5 RenderCache::BlitToImage 2016-03-12 22:04:32 -06:00
Dr. Chat 822d61c3d9 Fix a few stale data usage bugs in the pipeline cache.
Hook up part of depth/stencil tests/writes
2016-03-12 22:03:11 -06:00
Dr. Chat 5ba04b9e55 RenderCache::ClearEDRAMColor/ClearEDRAMDepthStencil 2016-03-12 11:49:59 -06:00
Dr. Chat 635d095b87 RenderCache: Track color target / depth target usage, refactor RawCopyToImage 2016-03-10 20:39:46 -06:00
Dr. Chat f903a559b3 Blit Vulkan CP output to the main window's swap chain 2016-03-10 13:01:39 -06:00
Dr. Chat f839a1293f Add a specialized copy command buffer to the vulkan swap chain 2016-03-10 12:59:48 -06:00
sephiroth99 90b54bbaa6 Fix usage of mix in fragment shader
The boolean value must be a vector too, where each bool component
selects whether the value of the output vector component is from the
first or the second source vector.
2016-03-10 01:14:42 -05:00
Dr. Chat 86cb40f0c6 Change how the render cache renders into EDRAM.
Rendering directly into the EDRAM buffer is bad because we don't know how the GPU lays out memory when it draws. Instead, we create temporary render targets and copy EDRAM contents to/from those temporary RTs before and after each draw.
2016-03-08 18:02:03 -06:00
Dr. Chat 4e27539709 Fix Vulkan texture drawing. 2016-03-08 17:57:04 -06:00
Dr. Chat af7fc20c38 Beginnings of texture conversion/uploads 2016-03-05 22:09:18 -06:00
Dr. Chat 38094ac819 Updated local clang-format. 2016-03-02 21:17:34 -06:00
Dr. Chat 740c70f270 Scalar logc, fix log 2016-03-01 12:52:34 -06:00
Dr. Chat 48cf270724 Use spv::NoPrecision instead of DecorationInvariant
Set samplers/images as uniform constants
2016-02-27 16:21:37 -06:00
Dr. Chat c648e54539 Short-circuit draw calls if the render target's pitch is 0 2016-02-27 11:30:50 -06:00
Dr. Chat 6109e0b03a Fix incorrect images/samplers definitions
ps_param_gen and fix interpolators being copied incorrectly
2016-02-25 17:41:41 -06:00
Dr. Chat 08a287d2ad Whoops 2016-02-21 22:30:31 -06:00
Dr. Chat 06d5a28615 Fix texture fetches 2016-02-21 22:27:23 -06:00
Ben Vanik 5e31c51a3d Textures are now in descriptor set 1. 2016-02-21 20:03:51 -08:00
Ben Vanik 3b20c757ff Merge branch 'vulkan' of github.com:benvanik/xenia into vulkan 2016-02-21 19:56:30 -08:00
Ben Vanik 62931f8c8e Adding texture setup and a dummy grid texture. 2016-02-21 19:56:23 -08:00
Dr. Chat 8a29330f8c First-pass image sampling 2016-02-21 20:42:37 -06:00
Dr. Chat 2785a94fea SetpXXPush 2016-02-21 19:20:53 -06:00
Dr. Chat 9030c87386 SetpPop/SetpRstr 2016-02-21 19:20:53 -06:00
Dr. Chat 5c2b5123ac Floors/Frcs/Truncs 2016-02-21 19:20:53 -06:00
Dr. Chat 0680e451bc Exp2 2016-02-21 19:20:53 -06:00
Dr. Chat cbac9b2f4e Use vec4 zero rather than float zero where needed 2016-02-21 19:20:53 -06:00
Dr. Chat 13049912ee Vec Log 2016-02-21 19:20:53 -06:00
Dr. Chat 1d4190af02 MaxA 2016-02-21 19:20:53 -06:00
Dr. Chat 568845e81d Dp4 2016-02-21 19:20:53 -06:00
Dr. Chat 3877afe90a MaxAsf 2016-02-21 19:20:53 -06:00
Dr. Chat d217f7b3c3 MaxAs/SetpClr 2016-02-21 19:20:53 -06:00
Dr. Chat fa3ca4a5d7 Short-circuit if the store has no writes. 2016-02-21 19:20:53 -06:00
Dr. Chat d2e3b5533d Whoops 2016-02-21 19:20:53 -06:00
Dr. Chat 9b805b929e Scalar kill ops 2016-02-21 19:20:53 -06:00
Dr. Chat e78537571f Vector kill ops 2016-02-21 19:20:53 -06:00
Dr. Chat 633746b5e4 Actually preserve pv/ps if predicate fails 2016-02-21 19:20:53 -06:00
Ben Vanik cda08ff826 Setup descriptor set for textures. 2016-02-21 17:17:57 -08:00
Ben Vanik 1def5bece9 Fix viewport inversion. 2016-02-21 15:59:35 -08:00
Ben Vanik ace895d4f3 Fixing 1/w0 correction. 2016-02-21 15:44:09 -08:00
Ben Vanik 24743bf676 Actually configure constant descriptor set. 2016-02-21 15:20:35 -08:00
Ben Vanik d57f974e2e Fix buffer alloc alignment and framebuffer comparison. 2016-02-21 14:43:59 -08:00
Ben Vanik 06ba273492 Warn and be ok with symbol services failing. 2016-02-21 14:26:16 -08:00
Ben Vanik 8bf5eba098 Capture exe with renderdoc and pass --vulkan_renderdoc_capture_all. 2016-02-21 12:44:16 -08:00
Dr. Chat b83b9c28a1 Fix push constants declaration 2016-02-21 13:19:08 -06:00
Dr. Chat a7880645be Merge branch 'vulkan' of github.com:benvanik/xenia into spv_translator 2016-02-21 12:47:02 -06:00
Dr. Chat bd0fb81b22 Apply window scaling 2016-02-21 12:46:54 -06:00
Ben Vanik 32c4f3ce24 Fixing pool shutdown. 2016-02-21 10:46:47 -08:00
Ben Vanik b3faba50a3 Pushing constants. 2016-02-21 10:38:58 -08:00
Dr. Chat 71440a4137 Add code to correct vertex format
Move translated shader code to its own function
Add push constants
2016-02-21 12:06:59 -06:00
Dr. Chat b1e56ee4e5 Vector Cndxx 2016-02-20 23:45:01 -06:00
Ben Vanik ff373a83a4 Private->Function variables, fragment output, geometry shader tweaks. 2016-02-20 20:44:11 -08:00
Dr. Chat 2629ae4a14 Fix using incorrect result types for compares 2016-02-20 21:55:32 -06:00
Dr. Chat ca01bb2311 ALU predicated discard 2016-02-20 21:53:22 -06:00
Dr. Chat 08a173e5ec Scalar Sxxx 2016-02-20 21:28:25 -06:00
Ben Vanik 6d65439efe Merge branch 'vulkan' of github.com:benvanik/xenia into vulkan 2016-02-20 19:19:41 -08:00
Ben Vanik cd02cdfc70 Making memory API less error prone; fixes buffer/constant uploads. 2016-02-20 19:19:29 -08:00
Dr. Chat 3130d4b38e Add the vulkan backend as a choice in xenia-app 2016-02-20 21:02:28 -06:00
Dr. Chat 8777d22b72 Add name information to constants
Fix Rcp/Rsq OpSelect incorrect usage
2016-02-20 19:31:28 -06:00
Ben Vanik 1d82d7bd92 For now, all 512 constants live in the same block. 2016-02-20 17:05:53 -08:00
Dr. Chat 4aff1c19a7 (WIP) SPIR-V Shader Translator 2016-02-20 18:44:37 -06:00
Ben Vanik b5a0c4715b Porting GL4 geometry shaders. Likely not working. 2016-02-20 16:35:21 -08:00
Ben Vanik 769c58a9b2 Adding `xb genspirv` to do glsl->.h. 2016-02-20 16:24:42 -08:00
Ben Vanik 5759f82276 Adding pipeline caching. 2016-02-20 15:00:11 -08:00
Ben Vanik 731ff52773 Implementing a lot of the pipeline state setting. 2016-02-20 12:59:18 -08:00
Ben Vanik 97174dbe4d Skeleton leaky hacky hardcoded pipeline setup. 2016-02-19 23:23:58 -08:00
Ben Vanik 990b600f53 Buffer uploads (without reclaiming, yet). 2016-02-19 21:08:50 -08:00
Ben Vanik de1e4661ff Not crashing (but also likely not working) EDRAM emulation. 2016-02-19 20:36:10 -08:00
Ben Vanik 8820c73532 A night's worth of work: documented EDRAM. Seems mostly right. 2016-02-19 10:38:11 -08:00
Ben Vanik 1dcc84a472 Starting render passes. 2016-02-18 18:18:31 -08:00
Ben Vanik 52a6f795f7 Shader modules and plumbing. 2016-02-18 18:18:31 -08:00
Dr. Chat f9ca0b86a8 Query to see if the physical device supports a swapchain surface to silence a validation layer error. 2016-02-18 20:10:14 -06:00
Ben Vanik 3bf1c91eaa Those are really pointers - need those bits. 2016-02-18 16:52:52 -08:00
Ben Vanik 4c4a641096 WIP rough sketch of vulkan backend structure. 2016-02-18 16:43:41 -08:00
Ben Vanik 35e08d9428 Switching from fork to main glslang spirv builder. 2016-02-18 16:43:41 -08:00
Ben Vanik 00594da417 Adding mutliple queue/shared queue support. 2016-02-18 16:43:41 -08:00
Ben Vanik ecd257b34c Fix headers include guards. 2016-02-18 16:43:41 -08:00
Ben Vanik 618ca80011 Count packed bytes used by a constant map. 2016-02-18 16:43:41 -08:00
Ben Vanik 5ab0af9e6d Implementing shader constant register map construction. 2016-02-18 16:43:41 -08:00
Ben Vanik 05107d2d3e Skeleton xenia::gpu::vulkan implementation, enough to start trace viewer. 2016-02-18 16:43:41 -08:00
Ben Vanik ca5902c111 Recreate swap chain on window resize. 2016-02-18 16:43:41 -08:00
Ben Vanik a97fa36512 Fixing swap chain scissoring; surface is still not resized right. 2016-02-18 16:43:41 -08:00
Ben Vanik 9f52f2e819 Initial vulkan context and immediate drawer.
Extremely rough, just checking in so DrChat can snoop.
2016-02-18 16:43:41 -08:00
Dr. Chat 27bace0e5c Actually disable writewatch kill in ConvertTexture 2016-02-17 18:04:10 -06:00
Dr. Chat b14c4ad681 Disable write watch kill in ConvertTexture 2016-02-17 17:57:56 -06:00
Dr. Chat 8bf1bf57fd Fix GL4 alpha test, use blend disable flag
If color clear is enabled, grab the color target no matter what.
Update texture readback code on copy (but not enabled)
Track PA_SC_VIZ_QUERY in UpdateRasterizerState
2016-02-17 17:56:28 -06:00
Ben Vanik f5eef128f8 Merge pull request #539 from DrChat/vizquery_wip
Viz Query WIP Notes
2016-02-16 17:21:39 -08:00
Ben Vanik 864b1b5fac Merge pull request #538 from DrChat/trace_viewer_misc
Trace Viewer Zoomed View / Fix Alpha Test
2016-02-16 17:19:26 -08:00
Dr. Chat a2dd1c48ae Add some WIP viz query notes to the command processor.
Also implement PM4_SET_BIN_MASK/SELECT.
2016-02-16 18:36:43 -06:00
Dr. Chat 253e164753 Move EnableDepthTest functionality into a bool alpha_blend var on ImmediateDraw. 2016-02-16 18:24:37 -06:00
Ben Vanik c667dfc596 Don't put kernel stacks in GPU memory. 2016-02-16 15:05:11 -08:00
Dr. Chat e77af94c7c Ignore color target / depth target / texture alpha in the trace viewer. 2016-02-16 16:45:49 -06:00
Dr. Chat a8dfd6a21a Add a flag to ImTextureID that disables alpha test 2016-02-16 16:43:12 -06:00
Dr. Chat 65d1ea0250 Add a zoomed image view for color targets and depth targets. 2016-02-16 16:41:20 -06:00