The Still New What Did You Last Do Thread

If it's not ZDoom, it goes here.

Re: The Still New What Did You Last Do Thread

Postby InsanityBringer » Tue Jul 27, 2021 12:33 pm

I have one transition in my code ATM, to transition the swapchain provided image into a present capable mode, but then I started looking at code and I rarely see anything actually transition anything from undefined to present, usually going from present to present, to change queue ownership in the 1% offchance an implementation doesn't support present on a graphics queue. The validation layer is very unhappy about me trying to clear a image in the present layout, pointing me to a valid usage requirement that... doesn't exist in the spec. I guess it doesn't realize that the swapchain extension is loaded and removes that specific requirement. Good start. The other message it throws is more legit, the swapchain provided images don't support transfer and clears outside of a render pass are transfer commands, not drawing commands. But it works anyways, so I guess AMD's smug about conformance to image layouts but anything else is up to random whims. But hey, maybe AMD's not the sole entity responsible for that even existing in the specification.

I wanted to learn something else to escape the nightmare that is OpenGL context creation. Also the nightmare that is AMD's GLSL compiler. You need an OpenGL context on Windows to load the functions you need to specify advanced context creation parameters, so you need to create a context, get your functions, destroy the context, and then use those functions to make a new context. Also instead of explicitly asking for exclusive fullscreen, it just guesses if you make a fullscreen window, which was a utter mess to work around when writing the borderless window option in my Descent 3 patcher. But with implementations present that actually work on other platforms like Linux, maybe it's high time I actually learn a little Direct3D.

(side note: I'm actually relatively curious how nvidia and other manufacturers represent images in gpu memory on the grounds that layouts don't matter to them. I've always heard graphics card hardware would occasionally pack memory different, like even back in the 90s 3DFX cards packing blocks of 2x2 texels together for faster filtering, but does stuff like this remain today and companies that aren't AMD can do the transitions silently?)

(other side note: I realize at this point how fucking stupid I am for continuing to buy AMD. I avoided nvidia for eons because of their dominant place in the market allowing them the ability to do whatever they want. Logins required to merely use their configuration software, then they stick it on the MS store for no good reason. If no competition existed, I'm sure they'd also start jacking prices way more. But what do my morals mean here, anyways? This was inevitably going to happen, so I'm wondering if I should just let it happen sooner so I can get used to it)
User avatar
InsanityBringer
 
Joined: 05 Jul 2007
Location: opening the forbidden box
Discord: InsanityBringer#9908

Re: The Still New What Did You Last Do Thread

Postby dpJudas » Tue Jul 27, 2021 3:47 pm

I am also using Vulkan for my 3D stuff due to the better driver situation. Still, it was a truly horrible experience learning this overcomplicated beast. :)

I'm actually relatively curious how nvidia and other manufacturers represent images in gpu memory on the grounds that layouts don't matter to them

I think either the hardware handles it completely automatically or their drivers already does it based on heuristics (that they had to have anyway for OpenGL and Direct3D 11). The sampler units also have caches and maybe when it loads the image into the cache it does the transformation automatically. Or maybe they determined it wasn't worth it to do the transformations at all and just went for a generic format for simplicity. The catch with the most optimal formats for sampling is that it is also the worst when you use it for the frame buffer. With gbuffers and such it might not be worth it to do all those transformations (*).

*) Of course if you profile that and determine that the general layout is actually more efficient for your use case then you'll have to suffer reading validation performance warnings every time you debug something.
dpJudas
 
 
 
Joined: 28 May 2016

Re: The Still New What Did You Last Do Thread

Postby Graf Zahl » Tue Jul 27, 2021 4:16 pm

From what I read, NVidia does not use these different image representations at all. All images are in a sane generic format.
All this nonsense comes from AMD who could not keep their stuff simple and had to enforce this utterly insane image management. And of course their technicians proudly proclaim that in order to make stuff work on their hardware, one has to follow the specs to the letter, or else...

I never looked into DX12 whether it forces the same insanity (as I see no point locking stuff I write to Windows 10), but right now, if I had to do 3D stuff I'd probably use DX11 as my API of choice. We're already at the point where there's no API that reliably targets the 3 main OSs so I may just stick to one that's available on the majority platform.

For fuck's sake - all I want is an API that gives me command buffers but allows me to defer the rest of the low level shit to the driver. This Vulkan shit is so invasive that it makes it nearly impossible to get the good stuff out of it.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: The Still New What Did You Last Do Thread

Postby Captain J » Tue Jul 27, 2021 4:37 pm


I've been struggling with the IRL stuff and a little bit of family crisis, but man i can't stop making animations despite all that huh
User avatar
Captain J
That's Amoreee
 
 
 
Joined: 02 Oct 2012
Location: A Year old Pizza Box
Discord: DiscussJ#3128

Re: The Still New What Did You Last Do Thread

Postby dpJudas » Tue Jul 27, 2021 4:40 pm

Graf Zahl wrote:From what I read, NVidia does not use these different image representations at all. All images are in a sane generic format.
All this nonsense comes from AMD who could not keep their stuff simple and had to enforce this utterly insane image management. And of course their technicians proudly proclaim that in order to make stuff work on their hardware, one has to follow the specs to the letter, or else...

I never looked into DX12 whether it forces the same insanity (as I see no point locking stuff I write to Windows 10), but right now, if I had to do 3D stuff I'd probably use DX11 as my API of choice. We're already at the point where there's no API that reliably targets the 3 main OSs so I may just stick to one that's available on the majority platform.

For fuck's sake - all I want is an API that gives me command buffers but allows me to defer the rest of the low level shit to the driver. This Vulkan shit is so invasive that it makes it nearly impossible to get the good stuff out of it.

I couldn't agree more. Maybe someone will make a higher level wrapper that looks roughly like D3D11 on top of Vulkan. Sometimes I dream of doing that but I fear what overhead it might have. Make the tiniest mistake in that regard and people won't use it as it would be too high. My vulkan wrapper classes was an attempt at doing a minimal improvement, but it wasn't enough to truly help.
dpJudas
 
 
 
Joined: 28 May 2016

Re: The Still New What Did You Last Do Thread

Postby InsanityBringer » Thu Jul 29, 2021 9:34 pm

Honestly, when I sit down and read practical things about vulkan I start seeing the appeal (though it certainly doesn't offer any excuses for image layouts...) but man. Then I also start sitting down and asking questions about how much I really want to do. A lot of this optimization completely flies over my head, my graphics programming knowledge isn't that great. If you gave me a specific feature from a game, I possibly could do it, I've read a lot of the graphics studies from Doom 2016 and Eternal and all of that and I get them, but architecting a full renderer and implementing optimizations at this level is far beyond what my current knowledge is. Vulkan is great for these cases, and while I can take away some lessons from that article for my own work, I run into problems that a lot of my use cases aren't well suited for these optimizations. Stuff like making a new renderer for Descent 3 that uses the original interface that's designed for a number of immediate mode APIs (a software renderer, OpenGL 1.1, Glide, and early Direct3D)

So basically I keep on asking how much I'm actually able to get out of this. I'm going to stick to learning it, maybe I will need it in the future, but it certainly is frustrating that there's no happy medium ground here. On one hand, I could go back to OpenGL, and then continue to fight with context creation being an act of god. I could continue to fight with AMD's shader compiler. I could fight with tons of legacy baggage and the like. Or I could continue on with Vulkan and completely bloat the complexity of my code for a minor speed boost, assuming I don't make a big mistake or something.
User avatar
InsanityBringer
 
Joined: 05 Jul 2007
Location: opening the forbidden box
Discord: InsanityBringer#9908

Re: The Still New What Did You Last Do Thread

Postby Talon1024 » Thu Jul 29, 2021 10:49 pm

DXVK is a Direct3D9/10/11-to-Vulkan translation layer, often used alongside WINE to run Windows games with better performance under Linux. There's also DXVK-Native, which is a version of DXVK which can be compiled into a shared library for Linux.

On the other hand, Warzone 2100 uses ANGLE to translate OpenGL ES to Vulkan, and there's also a graphics library called bgfx.
Talon1024
 
 
 
Joined: 27 Jun 2016
Github ID: Talon1024
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: nVidia with Vulkan support

Re: The Still New What Did You Last Do Thread

Postby Redneckerz » Fri Jul 30, 2021 2:19 pm

* New PC that actually runs GZDoom
** Upgraded to 16 GB RAM
* Two SSD's for my thin clients
* an 8 GB upgrade for one of them which as 2 GB RAM
* Using that now spare 2 GB ram to upgrade my other thin client which maxes out at 4 GB.
* Given a free PlayStation 3. Its a bit butched up, but if it runs, ill turn that thing into a Doom machine using Libretro PrBoom.
* Found a box of completely unused thin clients (size of a phone). Pretty nifty: Dual core AMD, 2 GB RAM, 8 GB DOM (Disk-on-Module, kind of like a SSD) and no upgrade path. That could do well as a streaming device for Youtube and Spotify (Has 1080p video playback)

In a week's time i have gotten the equivalent of a household in computing stuff. Ill know what to do when im on holiday. :)
User avatar
Redneckerz
To it's ports i may have seen
Spotlight Team
 
Joined: 25 Nov 2019
Discord: Redneckerz#8399
Operating System: Windows 10/8.1/8/201x 64-bit
Graphics Processor: Intel (Modern GZDoom)

Re: The Still New What Did You Last Do Thread

Postby irontusk341 » Sun Aug 01, 2021 12:45 pm

Chased my first Tornado warned storm this week. I love a good Adrenaline rush.

:D

User avatar
irontusk341
Main Author & Director of Diablo 3D: A Heretic mod based on the Diablo Games
 
Joined: 09 Oct 2017
Location: Mister Rogers Neighborhood, Pennsylvania
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia (Modern GZDoom)

Re: The Still New What Did You Last Do Thread

Postby Captain J » Sat Aug 07, 2021 9:01 am


oboy finally
User avatar
Captain J
That's Amoreee
 
 
 
Joined: 02 Oct 2012
Location: A Year old Pizza Box
Discord: DiscussJ#3128

Re: The Still New What Did You Last Do Thread

Postby Enjay » Sun Aug 08, 2021 5:46 am

Reinstalled and played Heavy Metal F.A.K.K. 2. (plus a HR texture pack from ModDB). It's a flawed game (which uses the Quake III engine, with some enhancements), but still good fun and has a lot of interesting elements that are not found in other Q3 games.

I also just learned that the real-life person who is the protagonist of the game (Julie Strain) died this year.
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: The Still New What Did You Last Do Thread

Postby DOOMPiter » Sun Aug 08, 2021 1:36 pm

Image
Image is self-explanatory.
User avatar
DOOMPiter
Engineer
 
Joined: 03 Nov 2019
Operating System: Windows Vista/7/2008 64-bit
OS Test Version: No (Using Stable Public Version)

Re: The Still New What Did You Last Do Thread

Postby Captain J » Mon Aug 09, 2021 5:51 am

So we can play Golden Souls in Zandronum, aka the most stable multiplayer doom launcher? :D
User avatar
Captain J
That's Amoreee
 
 
 
Joined: 02 Oct 2012
Location: A Year old Pizza Box
Discord: DiscussJ#3128

Re: The Still New What Did You Last Do Thread

Postby irontusk341 » Thu Aug 12, 2021 8:57 am

Captain J wrote:So we can play Golden Souls in Zandronum, aka the most stable multiplayer doom launcher? :D

about as stable as a Vegas wedding on a drunk saturday night. :P
User avatar
irontusk341
Main Author & Director of Diablo 3D: A Heretic mod based on the Diablo Games
 
Joined: 09 Oct 2017
Location: Mister Rogers Neighborhood, Pennsylvania
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia (Modern GZDoom)

Re: The Still New What Did You Last Do Thread

Postby Jarewill » Mon Aug 16, 2021 11:51 pm

I've been learning how to use Blender for a while, as I'm not good with making new sprites.
This is my attempt at a humanoid: A dwarf with a hammer, because who doesn't like dwarves?
Spoiler:

It took a while, as I tried to brute-force my way through the program (to no effect), but I got the hang of the important parts after several tutorial videos.
Blender will probably be the only program that I actually had to look up tutorials on how to use. :lol:
Jarewill
 
 
 
Joined: 21 Jul 2019

PreviousNext

Return to Off-Topic

Who is online

Users browsing this forum: No registered users and 1 guest