Day 4 of Wayland governance hacking
I wake at 5 AM. This is the perfect time to wake up in NYC TZ, as it affords me the ability to eat a whole
apple in the time it takes my little internet-browsing chromebook to load all the IRC and Discord backlogs from
the five hours that I snuck away for a nap when nobody was watching.
Read More
Rejection
It’s hard. Nobody likes that feeling, especially after putting in a bunch of work, double-especially when that work is on a Wayland protocol.
Read More
Big.
Read More
I <3 Open Source
That should be obvious by now, right? I’ve been out here blogging about Open Source stuff for over a decade, and occasionally I still have time to actually write code.
Read More
The New Reality
Read More
What Am I Even Doing
Read More
REVIEWERS ARE ASLEEP POST DUMP TRUCKS
Read More
After Action Report
Read More
I’m Cookin
Read More
You Would Not Believe This Month
Read More
It Happened Again.
Read More
Super Fast
Read More
Into The Spiral of Madness
Read More
March.
Read More
It Turns Out
Read More
Slow Start
Read More
This Is It.
Read More
Read More
And Now For Something Slightly More Technical
Read More
More Milestones
Read More
Your Bug Has Already Been Solved
Read More
Almost That Time Again
Read More
EBUSY
Read More
Remember Way Back When…
Read More
But Not Mine
Read More
Overdue
Read More
if you disagree you’re wrong
Read More
gitlab is down, post low-effort blogs and touch grass until it returns
Read More
Read More
It Me, Maintenance5
Read More
It’s Not Maintenance5
Read More
New Topic
Read More
Progress
Read More
Long Time No See
Read More
Uh-oh
Read More
Features
Read More
When perf Is Too Slow
Read More
Intro
Read More
Don’t @ Me
Read More
I read the article
Read More
It’s That Time Again
Read More
Team Updates
A number of members of my team at Valve don’t blog, and I like to bring visibility to their work when I can. Here’s a quick roundup of what some of them have been doing, in no particular order.
Read More
Release Pending
Read More
Lavapipe: Dragged Into The Future
Read More
Please File Responsibly
Read More
Shader Objects
Read More
This Week
Read More
A Picture Is Worth A Thousand Words
Read More
First
Read More
New Quarter, New Branch
Read More
Another Week
Read More
Release Work
Read More
A New Frontier
Read More
Memory
Read More
I Meant To Write This Some Time Ago But Then I Didn’t
Read More
Read More
[AIRPLANE NOISES]
Read More
Convenience
Read More
I Hate Pipe Caps
Read More
Another Milestone
Read More
Fast-linking: This Is Your Howto
Read More
A New Level Of Speed
Read More
Have You Ever…
Read More
Droppin’ Em
Read More
Yes
Read More
Another Year Passes
Read More
Recap
Read More
It Must Be Said
Read More
It’s Happening.
Read More
Shoutouts
Read More
Before We Begin
Read More
Homemade Spaghetti
Read More
Need Another Hit
Read More
Integration
Read More
SP33D
Read More
New Month, New Post
Read More
The Future Comes
Read More
Again.
Read More
Addressing Concerns
Read More
Innocuous
Read More
I Remembered
Read More
Again
Read More
Well
Read More
Let Your Memes Be Dreams
Read More
Another Quarter Down
Read More
Just In Time
Read More
Ecosystem Victory
Read More
March Forward
Read More
At Last
Read More
They Say An Image Macro Conveys An Entire Day Of Shouting At The Computer
Read More
Blogging: That Thing I Forgot About
Read More
22.0
Read More
Checking In
Read More
It’s Happening (For Real)
Read More
Suspicion
Read More
We Need To Talk
Read More
This Is A Serious Blog
Read More
Chug-a-chug-a-chug-a-chug-a-chug-a
Read More
We Back
Read More
Last Post Of The Year
Read More
What If Zink Was Actually The Fastest GL Driver?
Read More
Copper: It’s A Thing (Sort of)
Read More
A Long Time Coming
Read More
Everyone Knows…
Read More
UberCTS
Read More
What’s Even Happening
Read More
…For 2021
Read More
I’m Bad At Blogging
Read More
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: This Time I’m Serious.
Read More
Zink Is Over
Read More
The Struggle Continues
Read More
We Back
Read More
Deeper Into Software
Read More
This is a title
Read More
It Happened.
Read More
The Unsung Heroes
Read More
BREAKING: THIS IS NO LONGER A ZINK BLOG
Read More
We Did It
Read More
Fast Friday
Read More
I Said I Would
Read More
Memes
Read More
Remember When…
Read More
I Hate Construction.
Read More
Stop The Optimizing
Read More
Using Power For Evil
Read More
Click Play
Read More
wew
Read More
You Will Be Missed
Read More
TFW Long Game Loads
Read More
Buffering
Read More
Woosh
Read More
I’m Trying
Read More
Do As I Say, Not As Zink Does
Today, a brief post and lamentation.
Read More
Yeah, Again
Read More
Enhance Your Pipe!
Read More
Where We At
Read More
Superposition
Read More
A New Post
Read More
A Losing Battle
Read More
Quickly: ES 3.2
Read More
What’s Next
Read More
By Now
Read More
Read More
If you’re on Intel…
Read More
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
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
Overhead Migration
Read More
Return of the Blog
Read More
A Quintessential Metric
Read More
A Different Strategy
Read More
Some People Will Appreciate This
Read More
It Happens
Read More
A Different Sort Of Optimization
Read More
A New Sync
Read More
ETOOMUCHREBASE
Read More
memcpy harder
Read More
The Name Of The Game
Read More
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
Read More
New Week, New Idea
Read More
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
Alright, But Now I’m Really Back
Read More
New Game+
Read More
I’ve Been Here For…
Read More
Another Brief Review
Read More
A Brief Review
Read More
This Is The End
Read More
It’s Time.
Read More
New Hotness
Read More
Buffering
Read More
Never Seen Before
Read More
Brain Hurty
Read More
Busy, Busy, Busy
Read More
Jumping Right In
Read More
Moar Descriptors
Read More
Descriptors Once More
Read More
I Skipped Bucket Day
Read More
Healthier Blogging
Read More
A Showcase
Read More
But No, I’m Not
Read More
Read More
Read More
Adventures In Blending
Read More
Viewporting
Read More
Blog Returns
Read More
Hoo Boy
Read More
Long, Long Day
Read More
Just For Fun
Read More
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
A Quick Optimization
Read More
Benchmarking vs Testing
Read More
At Last, Geometry Shaders
Read More
A Different Friday
Read More
Extensions Extensions Extensions
Read More
glClear
Read More
The Tessellating Commences
Read More
After Some Time
Read More
Yet Another XFB Post
Read More
XFB: The Re-Return of the Sequel I Didn’t Want
Read More
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
Post-Storm Posting
I’m back, and today’s topic is testing.
Read More
Instancing
Read More
Queries Again
Read More
The Hidden Dangers of State Tracking
Read More
How Do Mesa Versions Work?
Read More
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
Spec Harder
Read More
A Slow Day
Read More
Last of the Vertex Processors
Read More
Directing Indirection
Read More
I’m Back
Read More
We’re Back
Read More
NIR passes
Read More
Something different
Read More
Primitive Restart
Read More
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
Something more recent
Read More
Extensions Extensions Extensions
Read More
ARB_arrays_of_arrays
Read More
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
No time to waste
Read More
assert()gery
Read More
Long Weekend
Read More
A quick word
Read More
Shader ALUs
Read More
Something different
Read More
Finally, An Introduction
Read More
A new problem
Read More
Testing Testing Testing
Read More
The overflow problem
Read More
To start with
Read More
Short post today
Read More
The next problem
Read More
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
There’s always more tests
Read More
What are extensions?
Read More
Queries: What are they?
Read More
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
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
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
But really, what is it?
Read More
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