@code_disaster@mastodon.gamedev.place
@code_disaster@mastodon.gamedev.place avatar

code_disaster

@code_disaster@mastodon.gamedev.place

Coding cowboy @ Robotality. Demoscene lurker & cross-platform hacker at night.

May toot about non-technical stuff in German now and then.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

AdamAntium, to cycling German
@AdamAntium@social.tchncs.de avatar

Going underground!

image/png

code_disaster,
@code_disaster@mastodon.gamedev.place avatar

@sebastianlaube @C3nC3 @AdamAntium ... oder, weitaus schlimmer, die Familienkatze pennt in der Nachmittagssonne darauf.

Ausflug abgesagt. Höhere Gewalt. Kann man nix machen!

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

AI for writing better commit messages? Where's the fun in that!?

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

The Markdown syntax support in Visual Studio Code did just highlight a surplus closing parenthesis for me, inside a {% highlight %} code block.

That made me more happy than you think it would. Sometimes it's the small things.

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

struct D3D12_RESOURCE_DESC
{
// ...
UINT64 Width;
// ...
}

Future proof.

code_disaster,
@code_disaster@mastodon.gamedev.place avatar

Ok, I guess I see someone trying to create a buffer resource > 4 GB ...

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Still trying to wrap my head around Direct3D 12 shader resource views and descriptor tables.

To create a view which "maps" a texture to a slot in the descriptor table, I call Device::CreateShaderResourceView().

To activate a descriptor table with N slots, I use CommandList::SetGraphicsRootDescriptorTable().

Now, let's say I want to change a texture slot mid-frame. Can I just CreateShaderResourceView() again? It's not a function of CommandList, so it feels wrong.

code_disaster,
@code_disaster@mastodon.gamedev.place avatar

Am I supposed to just precreate any combinations of descriptor tables? So let's say I have a shader with tex0..tex3, and I want to change tex0 and tex2 a couple of times during a frame, do I need to create one descriptor table for every possible variant of those?

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

"So, how much screen space you think you can waste?"

Reddit UI designer: "Yes!"

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

"%.*s.%.*s"

C printf format specifiers are fun!

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Did Reddit just break their classic view? Also, it defaults to "sorted by Hot" order.

It also seems to load much slower.

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Rebuilding this small code base, right now about 550 C and C++ files, including SDL3 and a few other libraries, takes remarkably less time than SDL3/CMake to run all those "Looking for sqrtf 'n friends" checks in its configuration phase.

CMake configure (after a project change) is slower than recompiling the whole deal.

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

"AI-generated Git commit messages"

Oh boy!

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

HRESULT GetStatus(HRESULT *pStatus)

My new favorite function signature.

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Happy St. Lemmings Day!

33 years!

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Super-nerdy domain question: has anyone ever tried to cram a handmade root signature into a shader built by DirectXShaderCompiler?

I can compile the shader, and I can create/serialize the signature. I can also stuff it into IDxcContainerBuilder. All return codes come back clean. But my test app then claims there is no signature.

Those Dxc interfaces are mighty weird.

code_disaster,
@code_disaster@mastodon.gamedev.place avatar

There's the ominous IDxcContainerBuilder::Load() function. It takes a "container header" as an argument.

I'm not sure where to get that header part from. Right now I pass the compiler result. I believe that might be wrong.

99% of my search results point to tests in forks of that very same compiler, which are not exactly helpful to the clueless.

code_disaster,
@code_disaster@mastodon.gamedev.place avatar

Yep, seen it. Very impressive work. The signing code looks ... wild.

But signing isn't my current problem. Though I just found yet another error report function which indeed reports an error.

Baby steps.

code_disaster,
@code_disaster@mastodon.gamedev.place avatar

OK, got it fixed. Lessons learned:

  1. Make sure to not ignore any of the many error report/status functions.

  2. After it said it built w/o errors, make absolutely sure that you load the correct binary in your test program, not a different one you hacked in yesterday for experimental reasons.

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Dealing with crashes with call stacks deep down ISomeCOMThingy::Release() wasn't fun twenty years ago, and it isn't any fun today!

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Gitea fails to mirror/migrate GitHub repositories if the repository "about" description contains special characters, like emoticons.

🧙‍♂️!

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

Direct3D 12 root signatures are a strange concept I still need to wrap my head around. Their weird HLSL shader notation doesn't help either.

Anyone know of a good online resource explaining them?

code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

"How to succeed in writing render API tutorials on the Internet":

  1. Write part 1, with good explanations and some easy-to-follow source code on GitHub.

  2. Announce and prepare to write parts 2 to N, but first "refactor" your sample code into some form of spaghetti-monster demo engine.

.
.
.

  1. Profit!
code_disaster, to random
@code_disaster@mastodon.gamedev.place avatar

My triangle isn't rendering! To the BatRenderDoc Mobile!

TomF, to random
@TomF@mastodon.gamedev.place avatar

If your debug build is faster than 25% the speed of your release build, you're not doing enough debug checking. Buy your devs faster computers.

code_disaster,
@code_disaster@mastodon.gamedev.place avatar

@aras @TomF @jon_valdes developers don't run debug builds anymore, and you now have to maintain a RelWithDebugInfoAndOptZero configuration.

C3nC3, to LEGO German
@C3nC3@social.tchncs.de avatar
code_disaster,
@code_disaster@mastodon.gamedev.place avatar

@C3nC3 fehlt nur noch die musikalische Untermalung.

https://www.youtube.com/watch?v=MK6TXMsvgQg

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • GTA5RPClips
  • thenastyranch
  • ethstaker
  • everett
  • Durango
  • rosin
  • InstantRegret
  • DreamBathrooms
  • magazineikmin
  • Youngstown
  • mdbf
  • slotface
  • tacticalgear
  • anitta
  • kavyap
  • tester
  • cubers
  • cisconetworking
  • ngwrru68w68
  • khanakhh
  • normalnudes
  • provamag3
  • Leos
  • modclub
  • osvaldo12
  • megavids
  • lostlight
  • All magazines