Wunk

Results 55 issues of Wunk

Calling `nihstro::InlineAsm::CompileToRawBinary` with an `OpCode::Id::MAD` instruction causes an `Unknown instruction` exception to throw. https://github.com/neobrain/nihstro/blob/e924e21b1da60170f0f0a4e5a073cb7d579969c0/include/nihstro/inline_assembly.h#L400-L402 `OpCode::Id::MAD` is a `OpCode::Type::MultiplyAdd` which is unhandled by the switch-case and uses the exception-throwing `default:`-case.

This is a redo of https://github.com/merryhime/dynarmic/pull/690 with a much smaller foot-print to introduce a new pattern while avoiding the initial bugs(https://github.com/merryhime/dynarmic/commit/5d9b720189a64eec7f35f844320d0b30ca3997f3). **B**roadcasts a value as an **Xmm**-sized **Const**ant. Intended to...

AVX512 adds an additional 16 `{x,y,z}mm` registers to the register-state. We only address the `xmm` part of these registers, so this allows an additional 256-bytes of fast register-memory. These registers...

With [VK_EXT_external_memory_host](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_external_memory_host.html), host memory can be directly imported into a `VkDeviceMemory`/`VkBuffer` without the need to allocate or copy from staging memory. When [minImportedHostPointerAlignment](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceExternalMemoryHostPropertiesEXT.html#_members) matches the page-size of the system, then...

Uses `{v}gf2p8mulb` as a general int8-multiplication instruction to simulate bit-shifts. Verified the implementation with `instr__gen_vslb` from #1348. Can be grabbed with: ``` git checkout origin/gen_tests -- src\xenia\cpu\ppc\testing\*vslb.s ```

Creating this issue to capture interest and information in relation to adding Windows on Arm support.

enhancement

Uses Catch2's `TEMPLATE_TEST_CASE`-feature to test both the JIT and the interpreter.

Just capturing interest here to have Oaknut support more `ARMv_._` variations(maybe up to [ARMv8.6](https://en.wikipedia.org/wiki/AArch64#ARMv8.6-A_and_ARMv9.1-A)) and detection of some more of these ARM extensions depending on the platform. Possibly even non-standard...

Inline definitions of these structures do not make it easy to determine what argument is going where. With aggregate initialization, each struct member is being assigned explicitly. This also allows...

This is something I've already done before in my other personal plugins, where rather than copying data into a staging ring-buffer to upload/download onto the GPU, `VK_EXT_external_memory_host` allows arbitrary pointers...

enhancement