www.supergoodcode.com Open in urlscan Pro
2606:50c0:8003::153  Public Scan

Submitted URL: http://zmike.github.io/
Effective URL: https://www.supergoodcode.com/
Submission: On April 21 via api from GB — Scanned from GB

Form analysis 0 forms found in the DOM

Text Content

MIKE BLUMENKRANTZ

Super. Good. Code.

Blog About


DO NOT


LET YOUR MEMES BE DREAMS

Read More


BRANCH


ANOTHER QUARTER DOWN

Read More


BIG MARGE


JUST IN TIME

Read More


RELEASE THE KRAKEN


ECOSYSTEM VICTORY

Read More


SPRINT


MARCH FORWARD

Read More


CUBISM


AT LAST

Read More


MEMES


THEY SAY AN IMAGE MACRO CONVEYS AN ENTIRE DAY OF SHOUTING AT THE COMPUTER

Read More


WHAT


BLOGGING: THAT THING I FORGOT ABOUT

Read More


HERE WE GO


22.0

Read More


WEW


CHECKING IN

Read More


ZINK 4EVER


IT’S HAPPENING (FOR REAL)

Read More


ANNOUNCING KOPPER


SUSPICION

Read More


LEAKS


WE NEED TO TALK

Read More


HOW TO BUG


THIS IS A SERIOUS BLOG

Read More


CHOO CHOO


CHUG-A-CHUG-A-CHUG-A-CHUG-A-CHUG-A

Read More


NEW YEAR NEW ME


WE BACK

Read More


THE FINALE


LAST POST OF THE YEAR

Read More


NV ENVY


WHAT IF ZINK WAS ACTUALLY THE FASTEST GL DRIVER?

Read More


PIPE MAGIC


COPPER: IT’S A THING (SORT OF)

Read More


THE FUTURE IS NOWISH


A LONG TIME COMING

Read More


REAL BENCHMARKING


EVERYONE KNOWS…

Read More


INLINE 2.0


UBERCTS

Read More


NOVEMBER


WHAT’S EVEN HAPPENING

Read More


THE END OF ZINK


…FOR 2021

Read More


A BRIEF RESPITE


I’M BAD AT BLOGGING

Read More


UNDERWATER


ES: BUT WHY

I got a request recently to fix up the WebGL Aquarium demo. I’ve had this
bookmarked for a while since it’s one of the only test cases for
GL_EXT_multisampled_render_to_texture I’m aware of, at least when running Chrome
in EGL mode.

Read More


ZINK IS OVER


ZINK IS OVER: THIS TIME I’M SERIOUS.

Read More


IM DONE


ZINK IS OVER

Read More


ZERO TO HERO


THE STRUGGLE CONTINUES

Read More


SUBMERGED


WE BACK

Read More


TIMELINES


DEEPER INTO SOFTWARE

Read More


THE UPDATE


THIS IS A TITLE

Read More


AT LAST


IT HAPPENED.

Read More


GRATITUDE


THE UNSUNG HEROES

Read More


DIFFERENT AGAIN


BREAKING: THIS IS NO LONGER A ZINK BLOG

Read More


FINALLY


WE DID IT

Read More


TO THE NINES


FAST FRIDAY

Read More


SUBALLOCATE ME


I SAID I WOULD

Read More


I'M GONNA PRETEND I DIDN'T SEE THAT


MEMES

Read More


MEMBA WHEN


REMEMBER WHEN…

Read More


SIDEJACKED


I HATE CONSTRUCTION.

Read More


BREAKING


STOP THE OPTIMIZING

Read More


TEMPLATE ME


USING POWER FOR EVIL

Read More


HHHHHHHHHHHHHH


CLICK PLAY

Read More


BACKISH


WEW

Read More


FAREWELL OLD FRIEND


YOU WILL BE MISSED



Read More


BETWEEN LOADS


TFW LONG GAME LOADS

Read More


SPARSE


BUFFERING

Read More


YOU WANT IT I GOT IT


WOOSH

Read More


NOT A PRANK


I’M TRYING

Read More


A REMINDER


DO AS I SAY, NOT AS ZINK DOES

Today, a brief post and lamentation.

Read More


DESCRIPTION


YEAH, AGAIN

Read More


LAYIN THAT PIPE


ENHANCE YOUR PIPE!

Read More


A MORE ACCURATE UPDATE


WHERE WE AT

Read More


GETTING BACK IN


SUPERPOSITION

Read More


WHAT HAPPENED TO BLOGGING?


A NEW POST

Read More


DELETE THE CODE


A LOSING BATTLE

Read More


NOTES


QUICKLY: ES 3.2

Read More


ROADMAPPING


WHAT’S NEXT

Read More


TWO WITH ONE BLOW


BY NOW

Read More


NEW ORDER



Read More


MILESTONE


IF YOU’RE ON INTEL…

Read More


NV


ALL IN A DAY’S WORK

I posted yesterday in brief about zink on nvidia blob, But what actually was
necessary to get this working?

Read More


MO CARDS MO PROBLEMS


WHAT IS EVEN HAPPENING ANYMORE

Thanks once again to my generous sponsors at Valve, as well as a patch from a
GLX guru with the very accurate commit log “I hate everything.”, I put in a
little time today and came up with this:

Read More


SAMPLIN


OVERHEAD MIGRATION

Read More


ITSHAPPENING.GIF


RETURN OF THE BLOG

Read More


OVERHEAD


A QUINTESSENTIAL METRIC

Read More


HOLD EM


A DIFFERENT STRATEGY

Read More


WHY DO I DO THESE THINGS


SOME PEOPLE WILL APPRECIATE THIS

Read More


NEW YEAR NEW CORRECTIONS


IT HAPPENS

Read More


INLINING PROBLEMS AWAY


A DIFFERENT SORT OF OPTIMIZATION

Read More


POLL()ING FOR WSI


A NEW SYNC

Read More


REBASE ME OUT OF HERE


ETOOMUCHREBASE

Read More


DIFFERENTLY CACHED


MEMCPY HARDER

Read More


ALPHA FIRST


THE NAME OF THE GAME

Read More


POINTERS


TO BEGIN

This is the journey of how zink-wip went from 0 fps in RPCS3 to a bit more than
that. Quite a bit more, in fact, if you’re using RADV.

Read More


EMULATION


IN MANY FORMS

Read More


NEW STRATEGY


NEW WEEK, NEW IDEA

Read More


COUNT HARDER


COUNTING

I keep saying this, but I feel like I’m progressively getting further away from
the original goal of this blog, which was to talk about actual code that I’m
writing and not just create great graphics memes. So today it’s once again a
return to the roots and the code that I had intended to talk about yesterday.

Read More


SUBTLE MOVEMENTS


ALRIGHT, BUT NOW I’M REALLY BACK

Read More


STARTING OVER


NEW GAME+

Read More


DON'T CALL IT A COMEBACK


I’VE BEEN HERE FOR…

Read More


ROUNDUP 20201122


ANOTHER BRIEF REVIEW

Read More


ROUNDUP 20201115


A BRIEF REVIEW

Read More


LAST DAY


THIS IS THE END

Read More


ARCHITECTURE


IT’S TIME.

Read More


BRINGING THE HEAT


NEW HOTNESS

Read More


INVALIDATION


BUFFERING

Read More


CATCHING UP


NEVER SEEN BEFORE

Read More


BLENDED


BRAIN HURTY

Read More


AN UPDATE


BUSY, BUSY, BUSY

Read More


PERFORMANCE CAN ONLY INCREASE


JUMPING RIGHT IN

Read More


BACK TO BEING INTERESTING


MOAR DESCRIPTORS

Read More


CACHE HARDER


DESCRIPTORS ONCE MORE

Read More


BACK TO CACHING


I SKIPPED BUCKET DAY

Read More


BACK TO BASICS


HEALTHIER BLOGGING

Read More


AUTOMATE


A SHOWCASE

Read More


PERHAPS YOU THOUGHT I WAS FINISHED


BUT NO, I’M NOT

Read More


ENGAGE THRUSTERS


PERFORMANCE 2.0

Read More


ACCELERATE


FINALLY, PERFORMANCE

Read More


WILL IT BLEND


ADVENTURES IN BLENDING

Read More


DYNAMISM


VIEWPORTING

Read More


LONG WEEK


BLOG RETURNS

Read More


DRAW PARAMETERS


HOO BOY

Read More


QUERY STATS


LONG, LONG DAY

Read More


FUNDAY


JUST FOR FUN

Read More


MORE MAP GAINS


THE OPTIMIZATIONS CONTINUE

Optimizing transfer_map is one of the first issues I created, and it’s
definitely one of the most important, at least as it pertains to unit tests. So
many unit tests perform reads on buffers that it’s crucial to ensure no
unnecessary flushing or stalling is happening here.

Read More


BUFFER RANGING


A QUICK OPTIMIZATION

Read More


TEST XZIBITING


BENCHMARKING VS TESTING

Read More


GEOMETRY OVERVIEW


AT LAST, GEOMETRY SHADERS

Read More


ZINK GAINS PART ONE


A DIFFERENT FRIDAY

Read More


BORDERS


EXTENSIONS EXTENSIONS EXTENSIONS

Read More


CLEAR OUT


GLCLEAR

Read More


TESSELLATION


THE TESSELLATING COMMENCES

Read More


VICTORY LAP


AFTER SOME TIME

Read More


XFB AND BARRIERS


YET ANOTHER XFB POST

Read More


XFB REDUX


XFB: THE RE-RETURN OF THE SEQUEL I DIDN’T WANT

Read More


FORMATTING


ENUM PIPE_FORMAT

One thing that’s everywhere in mesa (at least outside of mesa core) is enum
pipe_format. This enum is used to describe image formats. The general way that
it works is that there’s a hook in struct pipe_screen:

   /**
    * Check if the given pipe_format is supported as a texture or
    * drawing surface.
    * \param bindings  bitmask of PIPE_BIND_*
    */
   bool (*is_format_supported)( struct pipe_screen *,
                                enum pipe_format format,
                                enum pipe_texture_target target,
                                unsigned sample_count,
                                unsigned storage_sample_count,
                                unsigned bindings );


Each gallium driver implements this hook, and then gallium queries the driver
before creating a resource using a given format and then also before using a
created resource in various ways.

Read More


SHADER TESTING


POST-STORM POSTING

I’m back, and today’s topic is testing.

Read More


ANOTHER MINOR ANNOYANCE


INSTANCING

Read More


PRIMITIVE PAIN


QUERIES AGAIN

Read More


DEBUGGING


THE HIDDEN DANGERS OF STATE TRACKING

Read More


VERSIONING


HOW DO MESA VERSIONS WORK?

Read More


INTERNAL CHANGES


VARIABLE LISTS

Today I’m going to briefly go over a big-ish API change that’s taking place as a
result of a MR from Jason Ekstrand.

Read More


FAST FRIDAY


SPEC HARDER

Read More


PARTIAL WRITES


A SLOW DAY

Read More


SHADER PROCESSING


LAST OF THE VERTEX PROCESSORS

Read More


GROSS RESTARTS


DIRECTING INDIRECTION

Read More


MEMORY


I’M BACK

Read More


TIMESTAMPS


WE’RE BACK

Read More


ANIRTOMY


NIR PASSES

Read More


EXTENSIONS


SOMETHING DIFFERENT

Read More


RESTART


PRIMITIVE RESTART

Read More


STATUS UPDATE


A QUICK BREAK

I’ve been blogging pretty in-depth about Zink and related code for a while, so
let’s do a quick roundup with some future blog post spoilers.

Read More


TESTING ACCIDENTS


SOMETHING MORE RECENT

Read More


FRAGCOLORS


EXTENSIONS EXTENSIONS EXTENSIONS

Read More


SMOL EXTENSION


ARB_ARRAYS_OF_ARRAYS

Read More


UBO SIGHTING


AT LAST

It’s time to finish up UBO support in this long form patch review blog series.
Here’s where the current progress has left things:

Read More


BINDING LOCATIONS


NO TIME TO WASTE

Read More


NIRLY THERE


ASSERT()GERY

Read More


OPENGL 3.1


LONG WEEKEND

Read More


BRIEFLY PIGLIT


A QUICK WORD

Read More


WHEN MATHS GET WEIRD


SHADER ALUS

Read More


ANATOMY OF A SHADER BUGFIX


SOMETHING DIFFERENT

Read More


A STEP BACK


FINALLY, AN INTRODUCTION

Read More


SLOTS


A NEW PROBLEM

Read More


QUERY FINISHING TOUCHES


TESTING TESTING TESTING

Read More


QUERY OVERWHELMING


THE OVERFLOW PROBLEM

Read More


QUERY RESETS


TO START WITH

Read More


QUERY INTERRUPTED


SHORT POST TODAY

Read More


QUERIES


THE NEXT PROBLEM

Read More


THE SAGA CONTINUES


MORE FIXES

Yesterday I covered the problems related to handling gl_PointSize during the
SPIR-V conversion. But there were still more problems to overcome.

Read More


BUT IT WAS NOT OVER


THERE’S ALWAYS MORE TESTS

Read More


FINALLY EXTENSIONS


WHAT ARE EXTENSIONS?

Read More


QUERYING XFB


QUERIES: WHAT ARE THEY?

Read More


DRAWING AT LAST


QUICK RUNTHROUGH

This xfb blog series has gone on for a while now, and it’d be great if it ended
soon. Unfortunately, there’s a lot of corner cases which are being found by
piglit, and the work and fixing continue.

Read More


STREAM OUTPUT


TO BEGIN…

Stream output is another name for xfb closer to the driver level. Inside mesa
(and gallium), we’ll commonly see different types related to struct
pipe_stream_output_* which provide info about how the xfb info is output to its
corresponding buffers.

Read More


XFB AND ME


GETTING DEEPER

After getting the extensions and features enabled so things would run (more on
this in a future post), I dove into the deep end of ntv because I was getting
some crazy assert() errors.

Read More


TRANSFORM FEEDBACK: WHAT IS IT?


BUT REALLY, WHAT IS IT?

Read More


NEW BLOG WHO DIS

After years of using one blog, then using a number of different blogs, then not
blogging at all, I’m now blogging once more. Currently, the plan is to focus on
mesa code that I’m working on, specifically (at least for now) zink code.

Read More