Developing Games on Intel Graphics
If you are gaming on graphics integrated in your Intel Processor, this is the place for you! Find answers to your questions or post your issues with PC games
489 Discussions

OpenGL compute shader on HD4600 "Out of resource error."

Ext3h
Beginner
1,842 Views

 

#version 430 core

// DO NOT CHANGE, must match game internal layout
struct TileData {
	// TF_ flags 0:32
	uint flags;
	// TF_ flags 32:64
	uint flags2;

	// Sprites are all:
	// spriteID=0:16, spriteFlags=16:32
	uint floorSpriteUID ;
	uint wallSpriteUID;
	
	uint itemSpriteUID;
	uint creatureSpriteUID;

	uint jobSpriteFloorUID;
	uint jobSpriteWallUID;

	// fluidLevel=0:8, lightLevel=0:8, vegetationLevel=8:16
	uint packedLevels;
};

struct TileDataUpdate {
	uint id;
	TileData tile;
};

layout(std430, binding = 0) writeonly restrict buffer tileData1
{
	TileData data[];
} tileData;

layout(std430, binding = 1) readonly restrict buffer tileDataUpdate1
{
	TileDataUpdate data[];
} tileDataUpdate;

uniform int uUpdateSize;

layout(local_size_x = 64) in;

void main()
{
	uint id = gl_GlobalInvocationID.x;
	if(id < uUpdateSize)
	{
		TileDataUpdate data = tileDataUpdate.data[id];
		tileData.data[data.id] = data.tile;
	}
}

 

The above shader fails to link with an "Out of resource error." message (and no additional context given) on a HD4600 GPU.

Context information as reported by Intel driver:

 

Intel
4.3.0 - Build 20.19.15.5144
Intel(R) HD Graphics 4600

 

 

The same shader program works on NVidia and AMD GPUs, as well as on newer Intel GPUs.

 

I don't have access to such GPU myself, so I can't even experiment, but looks like a failure the shader compiler.

0 Kudos
2 Replies
Ext3h
Beginner
1,806 Views

Intel(R) HD Graphics 5500 appears to be affected in the exact same way, a super-not-helpful "Out of resource error." when trying to link the above compute shader.

0 Kudos
Ext3h
Beginner
1,794 Views

Looks like this actually *was* still functional in driver version 20.19.15.4624.

Newer(!) builds 20.19.15.5126 and 20.19.15.5144 are confirmed to be broken.

0 Kudos
Reply