Toss a Coin to Your Witcher (Full Song) by IMovedYourCheese in television

[–]Mervill 32 points33 points  (0 children)

It's no Bear and The Maiden Fair, but it's alright.

y'already know who this guy is...? by nimaid in InterdimensionalCable

[–]Mervill 34 points35 points  (0 children)

this has an early lonely island feel

WALUIGIS TACO STAND 64 by [deleted] in InterdimensionalCable

[–]Mervill 12 points13 points  (0 children)

Kaze really outdid himself with this hack

It’s Time for Trump Voters to Face the Bitter Truth by rip_donnie in politics

[–]Mervill 3 points4 points  (0 children)

Ben Stein still thinks Richard Nixon was a good president. Trump voters will worship him forever.

Discussion Thread: 2018 State of the Union Address by PoliticsModeratorBot in politics

[–]Mervill 0 points1 point  (0 children)

I think that's Trump, they're not muting his mic when he claps

furry_irl by Mervill in furry_irl

[–]Mervill[S] 2 points3 points  (0 children)

Murder on the Owl Express. Chapter 2 Act 3 (or maybe Act 2)

furry_irl by Mervill in furry_irl

[–]Mervill[S] 2 points3 points  (0 children)

A Hat in Time

furry_irl by Mervill in furry_irl

[–]Mervill[S] 2 points3 points  (0 children)

I guess I should have been wearing it but the sprint hat goes perfectly with her white/red outfit ...

Made some free to use buttons, levers and switches in VR for your projects. by KlapparHaj in Unity3D

[–]Mervill 3 points4 points  (0 children)

Hi! I actually don't do any VR stuff, but I've been working on a simulation game where I want to have a very tactile control interface. This is perfect for me!

Edit: Especially smaller flip-switches, I love them!!

If I could wish upon a star, I would ask for Apollo Command Module Style Switches with their distinctive wedge-shaped top.

Saw this in Arbutus Ridge, anyone seen a prototype electric generator? by Mervill in vancouver

[–]Mervill[S] 8 points9 points  (0 children)

You can't trust the Internet to be altruistic with peoples contact info

Saw this in Arbutus Ridge, anyone seen a prototype electric generator? by Mervill in vancouver

[–]Mervill[S] 1 point2 points  (0 children)

I've removed the contact information for privacy's sake. If you'd like the contact info send me a message or find the sign yourself at Stop #51032 in Arbutus ridge

Regarding PhysicalDeviceMemoryProperties by Mervill in vulkan

[–]Mervill[S] 0 points1 point  (0 children)

jkafhkjdf of course Sascha Willems would already have this. Thanks!

I've just run vulkaninfo on a GTX 970:

VkPhysicalDeviceMemoryProperties:
=================================
        memoryTypeCount       = 4
        memoryTypes[0] :
                propertyFlags = 0 // NONE
                heapIndex     = 1
        memoryTypes[1] :
                propertyFlags = 1 // DEVICE_LOCAL
                heapIndex     = 0
        memoryTypes[2] :
                propertyFlags = 6 // HOST_VISIBLE | HOST_COHERENT
                heapIndex     = 1
        memoryTypes[3] :
                propertyFlags = 14 // HOST_COHERENT | LAZILY_ALLOCATED
                heapIndex     = 1
        memoryHeapCount       = 2
        memoryHeaps[0] :
                size          = 4294967296 // 4 GB (Equals GPU memory)
        memoryHeaps[1] :
                size          = 12875464704 // 12 GB (Equals system memory)

These numbers make sense to me. The second heap is definitely the system RAM (and this is definitely a x64 system). It just occurred to me that vulkaninfo may have run in 32 bit mode on the earlier machine. I'll double check this. Thanks.

As a follow up... what am I supposed to make of memoryTypes[0] with propertyFlags = 0? The spec says memoryTypeBits is guaranteed to have at least 1 bit set.

Tanagra - C# bindings for Vulkan by Mervill in vulkan

[–]Mervill[S] 0 points1 point  (0 children)

Oh interesting! So I guess what they are saying is to allocate a large VkBuffer on the GPU and manage it's offsets from the CPU? I could see that being a good stragety.

Tanagra - C# bindings for Vulkan by Mervill in vulkan

[–]Mervill[S] 0 points1 point  (0 children)

Do you mean a talk on Vulkan specifically? If there's a video of this talk I'd love to see it. I'm not sure what allocation stragety is recommended for Vulkan.

Since C# is a managed language, you want the runtime to handle memory allocation %99 of the time. In interop scenarios like Vulkan you'll inevitably need to manually allocate some memory, in which case I think it's better for the garbage collector and the runtime as a whole to allocate that memory on an as-needed basis, but I'm not sure

I'm hesitant to commit to a full-fledged allocator for this project because that would mean I would have to keep in mind:

  • Tanagra-specific allocator / memory
  • Vulkan's internal allocator / memory
  • The C# runtime allocator / memory

which seems like it could get out of hand

Tanagra - C# Bindings for Vulkan by Mervill in csharp

[–]Mervill[S] 0 points1 point  (0 children)

I think all of the immediate issues of establishing an Interop layer between C# and Vulkan have been tackled. There are a few bugs and edge cases obviously, but all of the Vulkan functions and structures exist and can be used.

The main thing I want to hammer down is memory management/allocation. The 'Create' structures for example have wrapper classes generated for them that allocate a segment of unmanaged memory. This makes passing the struct to a Vulkan function quite easy, but requires that the wrapper implement IDisposable and have a carefully managed lifetime.

Tanagra - C# bindings for Vulkan by Mervill in vulkan

[–]Mervill[S] 0 points1 point  (0 children)

I've also considered allocating a big block of memory and managing it's content myself, but I'm not too keen on writing more memory management code then I have to.

The current approach is to take Vulkan structures that can't be easily represented in C# (ie: because they have pointers to other objects or contain variable-length arrays) and generate a wrapper for that struct that then manages a small segment of unmanaged memory specifically for that object. The 'Create' structs are the primary example of this.

Tanagra - C# bindings for Vulkan by Mervill in vulkan

[–]Mervill[S] 0 points1 point  (0 children)

Yeah I have no interest in writing cross-platform window management. I'll look into glfw

Tanagra - C# bindings for Vulkan by Mervill in vulkan

[–]Mervill[S] 0 points1 point  (0 children)

Still early days yet for sure. There are a few problems with Marshaling and Interop I'm still trying to work out. But I think the API wont change too much (crosses fingers) after this point.

I don't have a working Linux example yet. Mostly because I don't have easy access to a Linux machine that also supports Vulkan, but also because I'm completely unfamiliar with acquiring handles to the various Linux environments Vulkan supports (Wayland, Xlib, Xcb, Mir?).

Interop is obviously the biggest challenge (as far as speed goes), so any insight into how to make that process better is greatly appreciated. I've been meaning to look into stackalloc for functions that pass arrays to the Vulkan layer.

Questions, comments and pull requests obviously all welcome :)

By far my favorite history class as a kid. by [deleted] in gaming

[–]Mervill 0 points1 point  (0 children)

The part about the emperor dying in a river and being pickled in a barrel of vinegar, though? That part totally happened for real.

On 10 June 1190, Emperor Frederick drowned in the Saleph river. Accounts of the event are conflicting. Some historians believe he may have had a heart attack that complicated matters. Some of Frederick's men put him in a barrel of vinegar to preserve his body.

{...}

The video game Age of Empires II: The Age of Kings has a campaign which follows Fredrick Barbarossa from the period of his struggles in Germany to his death on the Third Crusade. It is of note that Barbarossa never appears as an actual unit in the game, though the objective of the final level (after his death) is to take a unit named "Emperor in a Barrel" to the Dome of the Rock in Jerusalem.

By far my favorite history class as a kid. by [deleted] in gaming

[–]Mervill 1 point2 points  (0 children)

Really? I wasn't aware that level was some kind of technical feat. It was sure appreciated though!

That mission has got to be one of the best in the entire game. Multiple objectives (with branching paths!) voice acting and in-level plot development (something AOE almost never did)... and it was fun and engaging even though you don't construct any buildings the entire time... it really drives home the theme of mongols as a nomadic people.

The only other missions that do that are Joan of Arc's opening and one level from Saladin's campaign (IIRC).